首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

怎么用代码精确控制Windows计算器窗口出现的位置呢

2012-02-05 
如何用代码精确控制Windows计算器窗口出现的位置呢?Shell(calc.exe)我用上面的语句打开了Windows附带的

如何用代码精确控制Windows计算器窗口出现的位置呢?
Shell("calc.exe")

我用上面的语句打开了Windows附带的计算器窗口,但是每次这个窗口出现的位置有随机性。如何用代码精确控制Windows计算器窗口出现的位置呢?让它出现在我所要的任何地方呢?望有达人指点,小弟不胜感激!

[解决办法]
两个步骤:
1.声明一个API函数SetWindowPos
2.调用这个函数 对"计算器"窗口设置其位置,给出如下代码供参考

VB.NET code
    '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

热点排行