تمت الإجابة دالة أقوى من SendKeys لمحاكاة الكيبورد

تم تحميل الصفحة في 0,8691468 ثانية
دالة أقوى من SendKeys لمحاكاة الكيبورد
الحالة
مغلق و غير مفتوح للمزيد من الردود.
إنضم
16 مايو 2012
المشاركات
300
الإعجابات
135
النقاط
43
السلام عليكم إخواني

بحتث كثيرا قبل أن أطرح هذا السؤال
لكن للأسف لم أجد الحل

هل هناك دالة أقوى من SendKeys لمحاكاة الكيبورد و إرسال حروف إللى برنامج خارجي.
الدالة شغالة جيدا مع جل البرامج .... cmd + calc + word + bloc-note

لكن مع أحد البرامج APPLICATION MS-DOS
لم أستطع إرسال أي حرف




ملحوظة :
كيبورد الويندوز يستطيع الكتابة في البرنامج
فاستنتجت أنه لا يستخدم دالة SendKeys
 

;Null

Beginner Developer
rank
إنضم
18 أكتوبر 2016
المشاركات
75
الإعجابات
82
النقاط
18
Sendkeys تعتمد على نفس الداله التى يعتمد عليها كيبورد الويندوز
..
ارنى الكود
 
إنضم
16 مايو 2012
المشاركات
300
الإعجابات
135
النقاط
43
Sendkeys تعتمد على نفس الداله التى يعتمد عليها كيبورد الويندوز
..
ارنى الكود



كود:
My.Computer.Keyboard.SendKeys("A")
SendKeys.Send("{Enter}")


أخي الكريم كيبورد الويندوز لا يستخدم دالة SendKeys
بالتجربة أخي
 

;Null

Beginner Developer
rank
إنضم
18 أكتوبر 2016
المشاركات
75
الإعجابات
82
النقاط
18
جرب اكتبEnter
هكذا
ENTER
..
انا لم اقل ان كيبورد الويندوز يعتمد على داله
SendKeys.Send
انا قلت ان الكلاس SendKeys
يعمتد على نفس الداله التى يعتمد عليها كيبورد الويندوز وهى
keybd_event
ابحث عنها
..
اذا لم يفلح الامر
جرب
~
بدلا من
{ENTER}
 

Spawner Freezo

.:: مُساعد مُشرف أقسام البرمجة ::.
rankrank
إنضم
12 أبريل 2015
المشاركات
355
الإعجابات
533
النقاط
93
العمر
22
الإقامة
Morocco
وعليكم سلام

---


C#:
        [DllImport("user32.dll")]
        private static extern bool SetForegroundWindow(IntPtr hWnd);
        private void ActivateProcess( string processName, string windowTitle )
        {
            var process = Process.GetProcesses()
                                 .Where(p => p.ProcessName == processName && p.MainWindowTitle.Contains(windowTitle))
                                 .FirstOrDefault();

            if(process != null )
                SetForegroundWindow(process.MainWindowHandle);
        }
+


C#:
            // ( "process Name", "Window Title" ) ...
            ActivateProcess("cmd", "AUTOMENU");

            // let's wait 1 sec, to ensure the send.
            await Task.Delay(1000);

            // Send the enter key.
            SendKeys.Send("{ENTER}");
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل