2010-08-05 136 views
1

当您打开Internet Explorer或Mozilla时,任务栏中的新任务会弹出。C#以编程方式禁用任务栏功能

当你右击任务栏这个项目它甾体抗炎药

恢复,移动,大小,最小化,最大化,关闭。

现在我有一个应用程序不使用大小,最小化,最大化或关闭。

有人能给我一个快速领导或抬起头来为了禁用他们吗?

在此先感谢 -Kevin

回答

2

可以使用SetWindowLong函数(http://msdn.microsoft.com/en-us/library/ms633591(VS.85).aspx)。

[DllImport("user32.dll", SetLastError = true)] 
private static extern int GetWindowLong(IntPtr hWnd, int nIndex); 
[DllImport("user32.dll")] 
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); 

int GwlStyle = -16;  // GWL_STYLE 
int WsSysMenu = 0x80000; // WS_POPUP 

var hwnd = new WindowInteropHelper(this).Handle; 
SetWindowLong(hwnd, GwlStyle, GetWindowLong(hwnd, GwlStyle) & ~WsSysMenu); 

查看上面的链接,了解有关GwlStyle和WsSysMenu值的更多信息。这将使窗口成为一个弹出窗口。但是,这也会从右上角删除关闭,最大化和最小化按钮。

+0

嗯。这个答案没问题,但它是通过窗口句柄得到的。 我想让他们调整窗口的大小,但他们不应该能够点击任务栏的大小,导致调整大小我有一个抓地力工具。 – Kevin 2010-08-05 16:04:13

+0

@Kevin如果你正在使用窗体的调整大小来控制'Handle',请阅读关于winapi和处理程序的内容(http://www.codeproject.com/KB/winsdk/InsideWindHandles.aspx)。这里'Handle'是一个指向窗口(或winodw)obect的指针,Windows API用它来与它交互,并且该函数将删除右键单击任务栏按钮时获得的默认菜单项。 – TheVillageIdiot 2010-08-05 17:41:46

相关问题