如何用代码精确控制Windows计算器窗口出现的位置呢?
Shell("calc.exe")
我用上面的语句打开了Windows附带的计算器窗口,但是每次这个窗口出现的位置有随机性。如何用代码精确控制Windows计算器窗口出现的位置呢?让它出现在我所要的任何地方呢?望有达人指点,小弟不胜感激!
[解决办法]
两个步骤:
1.声明一个API函数SetWindowPos
2.调用这个函数 对"计算器"窗口设置其位置,给出如下代码供参考
'SetWindowPos函数 Private Declare Auto Function SetWindowPos Lib "user32" ( _ ByVal hWnd As IntPtr, ByVal hWndInsertAfter As IntPtr, _ ByVal x As Integer, ByVal y As Integer, ByVal cs As Integer, ByVal cy As Integer, _ ByVal flags As Integer) As Integer '两个常数 Private Const SWP_NOSIZE As Integer = &H1 Private Const SWP_NOZORDER As Integer = &H4 '在窗体上添加 一个按钮,在按钮的OnClick事件中写上如下代码 Dim pro As System.Diagnostics.Process Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click pro = System.Diagnostics.Process.Start("calc.exe") '启动"计算器"程序 pro.WaitForInputIdle() '等待"计算器"启动就绪至空闲 '下面一行语句即是把"计算器"窗口的位置设置在屏幕坐标(10,10)处 SetWindowPos(pro.MainWindowHandle, IntPtr.Zero, 10, 10, 0, 0, _ SWP_NOSIZE Or SWP_NOZORDER) End Sub
[解决办法]
还用了API没什么复杂,你到微软官方去看看http://msdn2.microsoft.com/zh-cn/library/default.aspx