有时我想在安装我的软件包时禁用取消按钮,我正在使用visual studio安装程序。
我想从代码端禁用此取消按钮。
答案 0 :(得分:1)
以下是WIN32 API的解决方案:
这是我的示例代码:
Win32函数声明:
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool EnableWindow(IntPtr hWnd, bool bEnable);
禁用按钮的代码:
IntPtr hwndWindow = FindWindow("MsiDialogCloseClass", "Installer");
IntPtr hwndButton = FindWindowEx((IntPtr)hwndWindow, IntPtr.Zero, "Button", "Cancel");
if (EnableWindow(hwndButton, false))
{
//has been disabled
}
这是我的测试窗口: