我正在用C#开发一个能够动态加载dll的应用程序.这些dll代表我的"应用程序".我想限制这些应用程序的权限.例如(我的一个主要问题)阻止访问光盘.因为我的应用程序正在使用我的主应用程序域的功能和实例,所以我不希望它们在单独的沙盒应用程序域中运行.
这还有可能吗?
我尝试通过以下代码挂钩到开始按钮.
// Create an instance of HookProc.
StartHookProcedure = new CallBack(StartHookProc);
IntPtr desktop = FindWindowEx(
IntPtr.Zero, IntPtr.Zero, "Progman", null);
uint procId = 0;
uint threadId = GetWindowThreadProcessId(desktop, out procId);
Process process = Process.GetCurrentProcess();
ProcessModule module = process.MainModule;
IntPtr hModule = GetModuleHandle(null); // get my module handle...
//IntPtr start = FindWindowEx(desktop, IntPtr.Zero, "Button", null);
hHook = SetWindowsHookEx(WH_GETMESSAGE,
StartHookProcedure, hModule, (int)threadId);
//If the SetWindowsHookEx function fails.
if (hHook == 0)
{
int err = Marshal.GetLastWin32Error();
MessageBox.Show("SetWindowsHookEx Failed" + err.ToString());
return;
}
Run Code Online (Sandbox Code Playgroud)
SetWindowHookEx总是遇到错误1428 …