Tag: user32

如何在C#中确定当前关注的进程名称和版本

例如,如果我正在使用Visual Studio 2008,我想要值devenv和2008或9。 版本号非常重要……

C#P在64位系统上调用user32.dll

从64位应用程序中ping 64位Windows上的user32.dll是不对的? 我成功完成了很多次并且从未出现过错误,但这似乎是矛盾的。 我应该寻找user64.dll吗?

如何禁用user32.dll中的系统热键?

如果它是相关的,我用C#编码。 我正在尝试为自助服务终端应用程序禁用系统热键。 此处使用的代码来自: https : //www.codeproject.com/kb/cs/kiosk_cs.aspx?display = print 此个人: 如何在单击鼠标左键时禁用按住Alt键,按住Control键和Shift键,似乎已成功使用此方法在Windows上禁用Alt + F4 。 但是她没有明确指出她使用的Windows版本,而不是说其中一个命令在W8中不起作用。 那些不懂代码的人教程: https : //www.youtube.com/watch?v = qQWqGOaZiFI 我尝试过这个。 RegisterHotKey(this.Handle, int 1, (int)USE_ALT, (int)Keys.F4); ^但仍然失败。 Marshal.GetLastWin32Error().ToString() 当^运行时,它返回错误代码“1400” 。 枚举错误: https ://msdn.microsoft.com/en-us/library/windows/desktop/ms681385( v = vs.85).aspx。 这表明这是“窗口句柄无效”的结果。 。 我不知道为什么这是因为“Alt + F4”关闭当前所选窗口。 我很确定FindWindow(string cls, string wndwText)返回的是什么。 我添加了“SetLastError = true” : [DllImport(“user32.dll”, SetLastError = true)] private static […]

无法阅读其他应用程序的标题

跳跃我将如何在我的主程序中找到窗口句柄… 在C#中 我运行notepad.exe然后在其中键入内容,然后使用SPY ++(0x111111)找到主窗口句柄,并且 [DllImport(“user32.dll”, SetLastError = true, CharSet = CharSet.Auto)] internal static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); . . . GetWindowText((IntPtr)(0x111111), str, 1024); 这段代码工作正常,并返回主窗口的标题。 ::但是当我做同样的事情来找到notepad.exe的孩子的标题时,它只是将str设置为空。 间谍++告诉我孩子的标题有价值。

指挥鼠标事件点击,双击

我试过[DllImport(“user32.dll”)] static extern bool SetCursorPos(int X,int Y); 并且它可以很好地将光标移动到所需的点。 我从来没有尝试过这种类型的DLL导入,但它的工作原理:)。 但是我想要更多我能提取的内容吗? 主要是我想要双击,单击或使用滚轮选项而无需任何鼠标输入,只需要代码我该怎么做? 以及如何查看user32dll中还包含哪些内容? 感谢名单

使用User32.dll SendMessage使用ALT修改器发送密钥

可能重复: C#和SendMessage(键)无法正常工作 我正在编写一个应用程序,使用user32.dll中定义的SendMessage函数将键击发送到另一个应用程序。 我已经弄清楚如何发送一个击键但我很难过尝试发送击键和ALT键。 出于我的问题的目的,我将专注于发送F1和ALT + F1。 如上所述,我能够发送F1键没问题。 这是我的代码片段,它发送F1键: // DLL Imports //Set the active window [DllImport(“user32.dll”)] public static extern IntPtr SetActiveWindow(IntPtr hWnd); //sends a windows message to the specified window [DllImport(“user32.dll”)] public static extern int SendMessage(IntPtr hWnd, int Msg, uint wParam, uint lParam); // … // Some constants #define WM_SYSKEYDOWN 260 #define WM_SYSKEYUP 261 […]

需要激活一个窗口

我有这种情况。 我有一个应用程序的窗口句柄。 我需要激活它。 我尝试了所有这些function,但总是没有工作。(大多数时候,它不能在第一次工作,我将不得不手动点击它来激活它。第二次尝试以后它工作正常)我之所以如此我这样做是因为我有代码写在Form.Activate事件的forms,我需要执行。 应用程序是单实例应用程序。 创建新实例时,它首先检查是否存在任何其他进程,如果找到,则将旧进程的句柄传递给这些函数,以便用户可以处理旧表单。 从不同的C应用程序调用应用程序。 [DllImport(“user32.dll”)] public static extern int ShowWindow(IntPtr hWnd,int nCmdShow); [DllImport(“user32.dll”)] public static extern int SetForegroundWindow(IntPtr hWnd); [DllImport(“user32”)] public static extern bool PostMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam);

如何以编程方式锁定Windows工作站?

可能重复: 在C#中以编程方式锁定Windows工作站 我目前正在开发一个visual studio windows窗体应用程序,它需要一个锁定工作站的function。 在调用函数时,如何使用user32.dll进行锁定(Windows + L)?