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

مساعدة في تحويل كود

بدأه hero98 في 12 أغسطس 2011 · 1 رد · 409 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

احتاج مساعده في تحويل كود من لغة delphi إلي C#

كود الدولفي ..

var
winhandle : Thandle;
begin
 winhandle := findwindow(nil,'  Name active window    ');
 setforegroundwindow(winhandle);
 sleep(300);
 begin
  keybd_event(vkkeyscan('8'), MapVirtualKey(vkkeyscan('8'), 0), 0, 0);
  sleep(30); 
  keybd_event(vkkeyscan('8'), MapVirtualKey(vkkeyscan('8'), 0), KEYEVENTF_KEYUP, 0);
 end;
end;

محاولتي في تحويل الكود ..

C#

using System.Runtime.InteropServices;
using System.Threading;

 [DllImport("user32.dll")]
        static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,
        int dwExtraInfo);


        [DllImportAttribute("User32.dll")]
        private static extern int FindWindow(String ClassName, String WindowName);


        [DllImportAttribute("User32.dll")]
        private static extern IntPtr SetForegroundWindow(int hWnd);

int hWnd = FindWindow(null, " Name active window       ");
                SetForegroundWindow(hWnd);
                Thread.Sleep(300);
                keybd_event(0x38, 0x38, 0, 0);
                Thread.Sleep(30);
                keybd_event(0x38, 0x38, 0, 0);

الكود باختصار يقوم بالضغط علي key 8 في تطبيق direct X

مع العلم كود الدولفي يعمل بدون مشكله

اما السي شارب فيقوم بالضغط علي key 8 ولكن ليس داخل تطبيق direct x >>

فهل هنالك خطأ في تحويلي للكود ؟ او ربما ينقصني شئ ؟

رجااااء المساعده في اقرب وقت

وجزاكم الله خيرا ..

#2

السلام عليكم ورحمه الله وبركاته

اخي شوف الرابط التالي http://msdn.microsoft.com/en-us/library/ms171548.aspx وما عليك الا ايجاد اسم النافذة النشطه باستخدام دوال الـ API

1

.:: Wish to become better and better ::.

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