我运行的时候切到其他窗口。结果一个按下的命令就没有执行。直接跳过了
有其他办法可以不用只执行当前活动窗口吗?
有其他办法可以不用只执行当前活动窗口吗?
解决方案 »
- sqlcommandbuilder对象如何起作用的呢?(几行代码,帮看一下)
- 怎么让程序只运行一次??
- 有谁知道 MapServer PostgerSQL,OpenLayers,JTS,,, 第一次接触
- vs2005C# winfrom开发中如何在textbox输入的时候自动模糊的弹出可选数据的窗体?
- 关于Oracle表中时间数据在datagridview中调用
- datagridview的数据行问题
- 单选按钮和复选框的布局(windows form)
- xml导入ListView
- C# 多次根号怎么开?
- 关于线程问题
- 简单的猜数字游戏 执行错误 求指教
- C# int大于255怎么转换byte类型
我有写
while (hwndCalc == IntPtr.Zero)
{
hwndCalc = FindWindow(null, "文件下载");
}
他都走过了
SendMessage 的第一个参数就是目标窗口的句柄,不是针对活动窗口
{
a++;
if (a == 2)
{
hwndCalc = FindWindow(null, "文件下载"); //查找计算器的句柄
while (hwndCalc == IntPtr.Zero)
{
hwndCalc = FindWindow(null, "文件下载");
}
if (hwndCalc != IntPtr.Zero)
{
hwnd1 = FindWindowEx(hwndCalc, 0, null, "保存(&S)");
SetForegroundWindow(hwndCalc);
SendMessage(hwnd1, BM_DOWN, 0, 0);
SendMessage(hwnd1, BM_UP, 0, 0);
b = 0;
timer2.Enabled = true;
}
timer1.Enabled = false;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
b++;
if (b == 2)
{
if (System.IO.File.Exists("C:\\Documents and Settings\\Administrator\\桌面\\rbxt_esn.sig"))
System.IO.File.Delete("C:\\Documents and Settings\\Administrator\\桌面\\rbxt_esn.sig");
if (System.IO.File.Exists("C:\\Documents and Settings\\Administrator\\桌面\\rbxt_imei.sig"))
System.IO.File.Delete("C:\\Documents and Settings\\Administrator\\桌面\\rbxt_imei.sig");
if (System.IO.File.Exists("C:\\Documents and Settings\\Administrator\\桌面\\rbxt_meid.sig"))
System.IO.File.Delete("C:\\Documents and Settings\\Administrator\\桌面\\rbxt_meid.sig");
hwndCalc = FindWindow(null, "另存为");
while (hwndCalc == IntPtr.Zero)
{
hwndCalc = FindWindow(null, "另存为");
}
System.Threading.Thread.Sleep(1000);
hwndThree = FindWindowEx(hwndCalc, 0, null, "保存(&S)");
SendMessage(hwndThree, BM_DOWN, 0, 0);
SendMessage(hwndThree, BM_UP, 0, 0);
c = 0;
timer3.Enabled = true;
timer2.Enabled = false;
}
}
我要的是做一个自动下载的东西。
弹出下载对话框的时候。去点击其他窗体
就会在
while (hwndCalc == IntPtr.Zero)
{
hwndCalc = FindWindow(null, "另存为");
}
这里卡住
请看 MSDN,如果 FindWindows 找不到窗体, 它的返回值是 NULL所以你卡在这个循环里面是理所当然的。既然卡在这个循环里面, SendMessage 连执行的机会都没有。。