Reza_Yarahmadi
یک شنبه 07 شهریور 1389, 16:16 عصر
سلام به همه
چندتا مثال در رابطه با SendMessage پيدا كردم ولي توي همشون اطلاعات مورد نظر براي برنامه ديگه اي ارسال شده ولي من ميخوام براي برنامه خودم ارسال كنم!
ميخوام وقتي برنامه در حال اجراست و كاربر ميخواد يكبار ديگه برنامه رو باز كنه به وسيله SendMessage به برنامه اول يك سري اطلاعات ارسال كنم.
توي كد زير چندتا ابهام برام وجود داره
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
private void button1_Click(object sender, EventArgs e)
{
//Pointer to Calculator window
IntPtr calcPtr = IntPtr.Zero;
//Search For the Calculator Window SciCalc is Windows class
calcPtr = FindWindow("SciCalc", "Calculator");
//If Found it
if (!calcPtr.Equals(IntPtr.Zero))
{
IntPtr backSpaceButton = IntPtr.Zero;
//Search For Backspace Button
backSpaceButton = FindWindowEx(calcPtr, IntPtr.Zero, "Button", "Backspace");
//If Found it
if (!backSpaceButton.Equals(IntPtr.Zero))
{
// 0x00F5 is BM_Click Message
SendMessage(backSpaceButton, 0x00F5, IntPtr.Zero, IntPtr.Zero);
}
}
}
اين كد كليد backspace رو براي ماشين حساب ارسال ميكنه.
سوال من اينه كه پارامترهاي SciCalc ، Calculator ، Button ، Backspace كه همگي بصورت رشته اي ارسال شدند چي هستن و براي فرستادن پيام به برنامه خودم بايد چه مقداري داشته باشن؟
چندتا مثال در رابطه با SendMessage پيدا كردم ولي توي همشون اطلاعات مورد نظر براي برنامه ديگه اي ارسال شده ولي من ميخوام براي برنامه خودم ارسال كنم!
ميخوام وقتي برنامه در حال اجراست و كاربر ميخواد يكبار ديگه برنامه رو باز كنه به وسيله SendMessage به برنامه اول يك سري اطلاعات ارسال كنم.
توي كد زير چندتا ابهام برام وجود داره
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
private void button1_Click(object sender, EventArgs e)
{
//Pointer to Calculator window
IntPtr calcPtr = IntPtr.Zero;
//Search For the Calculator Window SciCalc is Windows class
calcPtr = FindWindow("SciCalc", "Calculator");
//If Found it
if (!calcPtr.Equals(IntPtr.Zero))
{
IntPtr backSpaceButton = IntPtr.Zero;
//Search For Backspace Button
backSpaceButton = FindWindowEx(calcPtr, IntPtr.Zero, "Button", "Backspace");
//If Found it
if (!backSpaceButton.Equals(IntPtr.Zero))
{
// 0x00F5 is BM_Click Message
SendMessage(backSpaceButton, 0x00F5, IntPtr.Zero, IntPtr.Zero);
}
}
}
اين كد كليد backspace رو براي ماشين حساب ارسال ميكنه.
سوال من اينه كه پارامترهاي SciCalc ، Calculator ، Button ، Backspace كه همگي بصورت رشته اي ارسال شدند چي هستن و براي فرستادن پيام به برنامه خودم بايد چه مقداري داشته باشن؟