帮我看一下,我自己都搞迷糊返回的是什么了?
public void game()
{
int proID,proid1;
proID = OpenProcess( "PROCESS_VM_READ ", false, Phandle);//它返回的是什么,我得到的总是0?
//textBox2.Text = proID.ToString();
proid1 = GetWindowThreadProcessId(Phandle,null);//它有返回值,可的返回的是进程ID,还是线程ID,或是哪个的句柄??
//textBox3.Text = proid1.ToString();
}
private void timer1_Tick(object sender, EventArgs e)
{
Phandle = FindWindow( "SciCalc ", null);
if (Phandle != 0)
{
label1.Text = "计算器运行! ";
game();
textBox1.Text = Phandle.ToString();
}
else
{
label1.Text = "计算器未运行! ";
}
}
------解决方案--------------------PROCESS_VM_READ
不是文本 ,有关是数值常量啊
------解决方案--------------------const int PROCESS_VM_READ = 16;
现在的人们要求越来越高!事情还是十画还没有一撇,就要源码!
------解决方案--------------------PROCESS_VM_READ是常量,值为0x10,也就是16,不是字符串
OpenProcess成功的话返回process的句柄,否则返回null
GetWindowThreadProcessId返回的是线程ID,第二个参数是接收进程ID的
MSDN上都有。。。
------解决方案--------------------[DllImport( "User32.dll ", EntryPoint = "GetWindowThreadProcessId ")]
private static extern int GetWindowThreadProcessId(int hWnd, ref int ProcessId);
int pid = 0;