草庐IT

wide-winapi

全部标签

winapi - 使用 go 读取 ETW 提供程序

我正在尝试从Advapi32.dll中访问EnumerateTraceGuids函数。我还处于非常早期的阶段,仍在尝试破译我必须做什么。我有以下代码不断给我错误:87,意思是ERROR_INVALID_PARAMETER。虽然它只是写入而不是读取,但我已将此文件用作起点:https://github.com/moby/moby/blob/master/daemon/logger/etwlogs/etwlogs_windows.go我要调用的函数的官方文档在这里:https://msdn.microsoft.com/en-us/library/windows/desktop/aa3637

winapi GetSystemTimes函数不填lpIdleTime/lpKernelTime/lpUserTime

我坚持GetSystemTimes功能。在c++代码中没有任何问题,但是对于golang我得到了三个nils而不是预期值我的代码:packagemainimport("log""syscall""unsafe")var(modKernel32=syscall.NewLazyDLL("kernel32.dll")procGetSystemTimes=modKernel32.NewProc("GetSystemTimes"))typeSystemTimesstruct{IdleTime*syscall.FiletimeKernelTime*syscall.FiletimeUserTime*

winapi GetSystemTimes函数不填lpIdleTime/lpKernelTime/lpUserTime

我坚持GetSystemTimes功能。在c++代码中没有任何问题,但是对于golang我得到了三个nils而不是预期值我的代码:packagemainimport("log""syscall""unsafe")var(modKernel32=syscall.NewLazyDLL("kernel32.dll")procGetSystemTimes=modKernel32.NewProc("GetSystemTimes"))typeSystemTimesstruct{IdleTime*syscall.FiletimeKernelTime*syscall.FiletimeUserTime*

winapi - 在使用 syscall.Syscall 和 WinAPI 时遇到问题

我正在尝试使用VkKeyScan来自Window的API,但是只要调用该函数,程序就会崩溃。我以这种方式导入和使用的其他WindowAPI函数没有问题。我的syscall.Syscall调用有问题吗?var(user32,_=syscall.LoadLibrary("user32.dll")vkKeyScan,_=syscall.GetProcAddress(user32,"VkKeyScan"))funcVkKeyScan(charbyte)(int16,syscall.Errno){varnargsuintptr=1ret,_,callErr:=syscall.Syscall(ui

winapi - 在使用 syscall.Syscall 和 WinAPI 时遇到问题

我正在尝试使用VkKeyScan来自Window的API,但是只要调用该函数,程序就会崩溃。我以这种方式导入和使用的其他WindowAPI函数没有问题。我的syscall.Syscall调用有问题吗?var(user32,_=syscall.LoadLibrary("user32.dll")vkKeyScan,_=syscall.GetProcAddress(user32,"VkKeyScan"))funcVkKeyScan(charbyte)(int16,syscall.Errno){varnargsuintptr=1ret,_,callErr:=syscall.Syscall(ui

winapi - 通过 Winspool 打印

我正在尝试为网站设置一种打印服务,以便与(pdf、html、excel)进行通信并将可打印文档发送到。我决定使用Go。我创建了下面的简单程序。在某些PC上它可以工作(Windows7),在其他PC(Windows8)上它不起作用(右)。当它不起作用时,作业在打印队列中显示不到一秒钟,然后消失。该代码不输出任何错误。我在Windows事件日志中找不到任何内容。我还尝试了一个C++中的RawPrinter示例,我可以在网上找到它,但它显示了相同的行为。有谁知道我做错了什么?:(packagemainimport("fmt""code.google.com/p/brainman/printe

winapi - 通过 Winspool 打印

我正在尝试为网站设置一种打印服务,以便与(pdf、html、excel)进行通信并将可打印文档发送到。我决定使用Go。我创建了下面的简单程序。在某些PC上它可以工作(Windows7),在其他PC(Windows8)上它不起作用(右)。当它不起作用时,作业在打印队列中显示不到一秒钟,然后消失。该代码不输出任何错误。我在Windows事件日志中找不到任何内容。我还尝试了一个C++中的RawPrinter示例,我可以在网上找到它,但它显示了相同的行为。有谁知道我做错了什么?:(packagemainimport("fmt""code.google.com/p/brainman/printe

c - 调用Windows API函数(stdcall)的符号扩展规则是什么?这是从 Go 调用 WInAPI 所必需的,它对 int 类型很严格

哎呀,我做thisanswer的时候忘了一件事,这是我自己都不太确定的事情,而且我似乎无法在MSDN和Google以及StackOverflow搜索中找到相关信息。在WindowsAPI中有很多地方使用负数,或者一个太大而无法放入有符号整数的数字;例如,CW_USEDEFAULT、INVALID_HANDLE_VALUE、GWLP_USERDATA等。在C的世界里,一切都很好,很漂亮:语言的整数提升规则来拯救。但在Go中,我必须将所有参数作为uintptr(相当于C的uintptr_t)传递给函数。函数的返回值也是这样返回的,然后我就需要比较了。Go不允许整数提升,也不允许您在编译时将

c - 调用Windows API函数(stdcall)的符号扩展规则是什么?这是从 Go 调用 WInAPI 所必需的,它对 int 类型很严格

哎呀,我做thisanswer的时候忘了一件事,这是我自己都不太确定的事情,而且我似乎无法在MSDN和Google以及StackOverflow搜索中找到相关信息。在WindowsAPI中有很多地方使用负数,或者一个太大而无法放入有符号整数的数字;例如,CW_USEDEFAULT、INVALID_HANDLE_VALUE、GWLP_USERDATA等。在C的世界里,一切都很好,很漂亮:语言的整数提升规则来拯救。但在Go中,我必须将所有参数作为uintptr(相当于C的uintptr_t)传递给函数。函数的返回值也是这样返回的,然后我就需要比较了。Go不允许整数提升,也不允许您在编译时将

winapi - Golang : using Windows 10 API/UWP/System. Windows 运行时?

在Go中使用syscall如何在Windows10中调用UWPAPI?我见过并尝试过许多win32示例,但是当我尝试使用System.WindowsRuntime.dll时,这是行不通的;具体来说,我收到了:panic:FailedtoloadSystem.WindowsRuntime.dll:Thespecifiedmodulecouldnotbefound.(这是在运行时,二进制构建良好)我尝试使用标准的gobuild和进行构建gobuild-ldflags="-Hwindows"示例代码:var(windowsRuntime=syscall.NewLazyDLL("System.