![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
在c#程序代码中怎么实现最小化WINDOWS 应用程序?
请给个例子,谢谢,例如把正在打开的一个windows播放器最小化,怎么实现,用c#。谢谢。播放器的进程是:wmplayer.exe。我主要是想在客户端调用服务器端的wmp...
请给个例子,谢谢,例如 把正在打开的一个 windows 播放器最小化,怎么实现,用c#。谢谢。播放器的进程是:wmplayer.exe。
我主要是想在客户端调用服务器端的wmplayer.exe进程。并根据其目录在服务器端播放歌曲。我在VS中运行可以,但是当生成网站时就调用不出来wmplayer.exe。怎么回事? 展开
我主要是想在客户端调用服务器端的wmplayer.exe进程。并根据其目录在服务器端播放歌曲。我在VS中运行可以,但是当生成网站时就调用不出来wmplayer.exe。怎么回事? 展开
2个回答
展开全部
您好,
您可以参考如下最小化WMP播放器的测试代码:
[DllImport("user32.dll", SetLastError = true)]
private static extern int SendMessage(IntPtr HWnd, uint Msg, int WParam, int LParam);
[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr FindWindow(string className, string windowName);
private const int WM_SYSCOMMAND = 0x0112;
private const int SC_MINIMIZE = 0xF020;
private void button1_Click(object sender, EventArgs e)
{
IntPtr hwnd = FindWindow("WMPlayerApp", null);
if (hwnd!=IntPtr.Zero)
{
SendMessage(hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
}
}
当然,要先引用System.Runtime.InteropServices命名空间;
FindWindow函数用来查找具有指定窗口名或窗口类名的窗体;
SendMessage函数用来向指定窗口的窗口过程发送指定的消息;
指定的消息(WM_SYSCOMMAND、SC_MINIMIZE)代表的数字可以在MSDN中查到;
窗口名就是窗口的标题,窗口类名是程序运行时调用RegisterClass向系统注册的名字,可以用SPY++查到。
希望这些信息对您有帮助。
您可以参考如下最小化WMP播放器的测试代码:
[DllImport("user32.dll", SetLastError = true)]
private static extern int SendMessage(IntPtr HWnd, uint Msg, int WParam, int LParam);
[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr FindWindow(string className, string windowName);
private const int WM_SYSCOMMAND = 0x0112;
private const int SC_MINIMIZE = 0xF020;
private void button1_Click(object sender, EventArgs e)
{
IntPtr hwnd = FindWindow("WMPlayerApp", null);
if (hwnd!=IntPtr.Zero)
{
SendMessage(hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
}
}
当然,要先引用System.Runtime.InteropServices命名空间;
FindWindow函数用来查找具有指定窗口名或窗口类名的窗体;
SendMessage函数用来向指定窗口的窗口过程发送指定的消息;
指定的消息(WM_SYSCOMMAND、SC_MINIMIZE)代表的数字可以在MSDN中查到;
窗口名就是窗口的标题,窗口类名是程序运行时调用RegisterClass向系统注册的名字,可以用SPY++查到。
希望这些信息对您有帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询