الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

control the mouse with speech recognition

بدأه memo_elmasry في 9 يونيو 2013 · 6 رد · 850 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا كنت عايز اعمل ابليكشن اقدر بيه اتحكم ف الماوس وكمان اقدر اضغط كليك بيه يعني مش احركه ( يمين & شمال & فوق & تحت ) لا عايز الابليكيشن يقدر يعمل كل وظايف الماوس حتي الكليك ( يمين وشمال ) 

 

انا وصلت للكود اللي اقدر احرك بيه الماوس لكن معرفتش اوصل ان اضغط كليك :(

 

وده الكود اللي وصلتله

private void Initialize()
    {
        recognitionEngine = new SpeechRecognitionEngine();
        recognitionEngine.SetInputToDefaultAudioDevice();
        recognitionEngine.SpeechRecognized += (s, args) =>
        {
            string line = "";
            foreach (RecognizedWordUnit word in args.Result.Words)
            {
                if (word.Confidence > 0.5f)
                    line += word.Text + " ";
            }
            string command = line.Trim();
            switch (command)
            {
                case "left":
                    MoveMouse(Cursor.Position.X - 50, Cursor.Position.Y);
                    break;
                case "right":
                    MoveMouse(Cursor.Position.X + 50, Cursor.Position.Y);
                    break;
                case "up":
                    MoveMouse(Cursor.Position.X, Cursor.Position.Y - 50);
                    break;
                case "down":
                    MoveMouse(Cursor.Position.X, Cursor.Position.Y + 50);
                    break;
            }

            txtOutput.Text += line;
            txtOutput.Text += Environment.NewLine;
        };

        recognitionEngine.UnloadAllGrammars();
        recognitionEngine.LoadGrammar(CreateGrammars());
        recognitionEngine.RecognizeAsync(RecognizeMode.Multiple);
    }

    private Grammar CreateGrammars()
    {
        Choices commandChoices = new Choices("left", "right", "up", "down");
        GrammarBuilder grammarBuilder = new GrammarBuilder();
        grammarBuilder.Append(commandChoices);
        return new Grammar(grammarBuilder);
    }

    private void MoveMouse(int x, int y)
    {
        this.Cursor = new Cursor(Cursor.Current.Handle);
        Cursor.Position = new Point(x, y);
        Cursor.Clip = new Rectangle(this.Location, this.Size);
    }
}
}

ياريت تفيدوني ف اسرع وقت

−1
#2

السلام عليكم ...

في المرفقات مثال يحول الضغط على الكيبورد لنقرات ماوس كل مفتاح يولد نقرة في مكان محدد مسبقا  , حاول تعديله لما يناسبك .

KeyBoardToMouseClick.rar

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 9 يونيو 2013 في 09:30

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

السلام عليكم 

 

أخي شوف

 

http://stackoverflow.com/questions/8339565/send-mouse-keyboard-events

 

وإن لم تنجح معك جرب :

SendKeys.Send

 

بالتوفيق

1

Be the change you want to see in the world


#4
houssam11350_11350 كتب:

السلام عليكم ...

في المرفقات مثال يحول الضغط على الكيبورد لنقرات ماوس كل مفتاح يولد نقرة في مكان محدد مسبقا  , حاول تعديله لما يناسبك .

شكرا ليك جاري المحاولة :)

#5
NOUR ALDEEN كتب:

السلام عليكم 

 

أخي شوف

 

http://stackoverflow.com/questions/8339565/send-mouse-keyboard-events

 

وإن لم تنجح معك جرب :

SendKeys.Send

 

بالتوفيق

شكرا ليك لكن ياريت توضحلي الميثود الخاص بالكليك ايه يعني انا لو عايز ادوس كليك بس اعمل 

SendKeys.Send

بعدها اكتب ايه ؟؟؟؟؟ وشكرا جدااا لاهتمامك

#6
memo_elmasry كتب:

شكرا ليك لكن ياريت توضحلي الميثود الخاص بالكليك ايه يعني انا لو عايز ادوس كليك بس اعمل 

SendKeys.Send

بعدها اكتب ايه ؟؟؟؟؟ وشكرا جدااا لاهتمامك

 

 

السلام عليكم

 

يمكنك إستخدامه مثلاً 

 

SendKeys.Send("{ENTER}");

وفي الرابط يوجد مثال بسيط وأكود لبعض الأزرار هنا :

 

http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx

 

بالتوفيق

تم تعديل هذه المشاركة بواسطة NOUR ALDEEN في 10 يونيو 2013 في 10:16

Be the change you want to see in the world


#7
NOUR ALDEEN كتب:

السلام عليكم 

 

أخي شوف

 

http://stackoverflow.com/questions/8339565/send-mouse-keyboard-events

 

وإن لم تنجح معك جرب :

SendKeys.Send

بالتوفيق

هذا للتحكم في لوحت المفاتيح وليس الفأرة

* يجب أولا تحويل الصوت إلى أوامر

* التحكم في مكان الفأرة

* تحويل الأوامر إلى أحداث ينفذها مؤشر الفأرة.

 

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.mouseclick.aspx

مواضيع مشابهة