相关疑难解决方法(0)

IntPtr,SafeHandle和HandleRef - 解释

在没有指向MSDN的情况下,有人可以简明扼要地解释每个问题的目的以及何时使用它们.(IntPtr,SafeHandle和HandleRef)

.net winapi interop

39
推荐指数
2
解决办法
2万
查看次数

访问Microsoft.Win32.UnsafeNativeMethods?

Microsoft在.NET框架中包含一个非常好的Windows API包装器.它存储在Microsoft.Win32.UnsafeNativeMethods,Microsoft.Win32.SafeNativeMethodsMicrosoft.Win32.NativeMethods中.但遗憾的是,它们无法访问,因为它们被声明为私有.有没有办法轻松访问它们?

c# winapi native

7
推荐指数
1
解决办法
1万
查看次数

在c#中将键击发送到应用程序(sendkeys,postmessage,sendmessage都不起作用)

我正在尝试执行以下操作之一1.打开所需程序并以编程方式按键2​​.找到程序打开窗口并以编程方式按键(或者很好)

我尝试了很多SendKeys.SendWait(),PostMessage()和SendMessage()的实现失败.以下是我的代码片段

    //included all these for attempts 
    [DllImport("User32.dll")] 
    static extern IntPtr FindWindow(string lpClassName, string lpWindowName);  

    [DllImport("User32.dll")] 
    static extern int SetForegroundWindow(IntPtr hWnd);

    [DllImport("User32.Dll", EntryPoint = "PostMessageA")]
    static extern bool PostMessage(IntPtr hWnd, uint msg, int wParam, int lParam);

    [DllImport("user32.dll")]
    static extern byte VkKeyScan(char ch);

    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
Run Code Online (Sandbox Code Playgroud)

获取sendmessage/postmessage/sendkeys使用的窗口,变量的句柄

IntPtr ptrOBS = proc.Handle;//this works properly, proc is instantiated properly
//IntPtr ptrOBS = FindWindow(null, "Open Broadcaster Software v0.472b");
SetForegroundWindow(ptrOBS);
const UInt32 WM_CHAR …
Run Code Online (Sandbox Code Playgroud)

.net c# windows sendkeys keyboard-events

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

.net ×2

c# ×2

winapi ×2

interop ×1

keyboard-events ×1

native ×1

sendkeys ×1

windows ×1