jjzjj

winapi - 从 unsafe.Pointer 获取特定 byte slice 的最佳(最安全 + 最高性能)方法是什么

我正在尝试转换thisc++去。简而言之,这就是C代码正在做的事情:staticconstchar*pSharedMem=NULL;intsessionInfoOffset;returnpSharedMem+pHeader->sessionInfoOffset;这是我的(伪)go代码:varpSharedMemunsafe.PointersessionInfoLenC.intbyteSlice:=C.GoBytes(pSharedMem,pHeader.sessionInfoLen)returnbyteSlice[pHeader.sessionInfoOffset:]我从来没有真正编写

winapi - 如何正确调用 netapi32!NetSessionEnum()?

我一直在尝试使用netapi32.dll,但结果好坏参半。以下按预期工作typeSERVER_INFO_101struct{PlatformIDuint32Name*uint16VersionMajoruint32VersionMinoruint32Typeuint32Comment*uint16}funcNetServerGetInfo(){info:=&SERVER_INFO_101{}ret,_,err:=procNetServerGetInfo.Call(0,101,uintptr(unsafe.Pointer(&info)))ifret!=0{log.Fatal(err)}s

winapi - 在 Go for Windows 中获取窗口几何

我想用Go创建一个工具,让我可以调整屏幕上多个窗口的大小。作为一个例子,假设我想找到我的Firefox窗口和我的Atom(文本编辑器)窗口并放置它们,以便它们正好占据我屏幕的一半(FF左边,Atom右边)。到目前为止,我意识到我需要为此使用WindowsAPI。我创建了一个方法,它为我提供了所有窗口的所有句柄和标题,但我正在努力处理几何信息。我知道API调用GetWindowRect会有所帮助,但我如何才能从指向rect的指针中获取信息?跟进问题1:关于window,我还能得到哪些其他信息?跟进问题2:如何调整窗口大小,使其恰好占据屏幕大小的一半?我想,我需要另一个电话来获取显示器尺寸

go - 调用 EnumProcessModules 时出现“意外故障地址”

我正在编写一个枚举进程基地址的函数。这是通过几个WindowsAPI调用完成的,但是,我相信是我对EnumProcessModules的调用造成了错误。还应注意,并非每个进程都会出现此错误。我已经尝试将一些uint32更改为uint64,反之亦然,以及创建moduleHandles数组的不同方法,但我无法使任何工作正常进行。这只是我正在创建的用于检索和扫描另一个进程内存的应用程序中的一个函数。这是我的函数的源代码:funcgetBaseAddress(handleuintptr)int64{//GetProcessImageFileNameAvarimageFileName[200]b

windows - 在 Go 中检测 windows 版本以找出启动文件夹

有没有办法检测主机操作系统是XP、Vista、7、8还是10?runtime.GOOS只返回“windows”。这是因为我试图操作启动文件夹中的文件。在WindowsVista、7、8、10上,它位于:%appdata%\Roaming\Microsoft\Windows\StartMenu\Programs\Startup在WindowsXP上它位于:DocumentsandSettings\%username%\StartMenu\Programs\Startup 最佳答案 为什么不使用windows注册表?https://go

C++/STL - 在 std::map 中访问类指针实例时程序崩溃

好的,我有一个函数可以读取xml文件并使用new创建控件并将它们存储在名为Window的类的公共(public)成员变量中:std::mapButtons;std::mapTextBoxes;std::mapCheckBoxes;Button、TextBox和CheckBox类是CreateWindowEx的自制包装器。这是填充map的函数:voidWindow::LoadFromXml(constchar*fileName){XMLNoderoot=XMLNode::openFileHelper(fileName,"Window");for(inti=0;i(root.getChil

c# - 努力估计 : using C/Win32 or learning C#/. NET

我打算编写一个小应用程序来解决个人的痛处,并可能让一些同事的生活更轻松。这是我所拥有的:10年以上C语言经验从Win3.1到2000天,在使用C语言针对Win16/32API进行编程方面拥有丰富的经验。我自己编写的C库已经完成了应用程序应完成的大约75%。应用程序应该做什么:打开二进制文件,将其输入上述库。获取生成的文本输出并将其输入到新的Excel工作簿中。应用一些格式。与Windows环境很好地集成(在“打开方式...”中可用,记住一些使用注册表等的东西)(可能稍后)在将CSV数据提供给Excel之前,通过在XML文件中查找某些值的含义来解析它。除了XML解析部分外,在将COM/O

windows - GetSaveFileName() 不返回 XP 上 CD 刻录暂存区的路径

我有一个功能,可以将文件保存到用户指定的位置。我正在使用GetSaveFileName()来显示另存为对话框。然后我使用它返回的路径将文件写出到该位置。我注意到当用户在XP机器上选择CD-RW驱动器时它不起作用。同样的过程在Vista和Windows7上也能正常工作。我做了以下观察:GetSaveFileName()返回的路径返回在Win7/Vista上选择CD刻录机根文件夹(在我的例子中是F:)时临时暂存区的路径。在XP上,选择CD刻录机根文件夹只会返回F:\作为路径。但是,如果我使用“另存为”对话框创建子文件夹并将文件保存在此文件夹中(例如F:\folder),则路径为临时文件夹的

windows - 跨进程边界的 CRT 类型

我正在拖/放activeX控件。在拖动时,我提供了一个CComQIPtr,它实现了COM方法以将信息传递给放置目标。在放置时,放置目标的进程调用我的COM方法来获取信息。我是否不允许在该接口(interface)边界附近使用CRT类型或指向CRT类型的指针?我希望我的IDataObject有一个私有(private)的std::list和一些std::strings,并且在接口(interface)的外部能够调用我的COM方法来访问那些私有(private)成员。我认为这没问题,因为我实际上并没有越过边界传递CRT类型。MSDN:PotentialErrorsPassingCRTObj

.NET:向同一应用程序的所有实例发送文本消息并阅读

我需要能够在我的应用程序的所有运行实例之间可靠地同步一些文本数据block。最好的制作方法是什么? 最佳答案 一般来说,您需要ObserverPattern.你需要一些东西来充当服务器。之后,取决于某个应用程序发生的更改是否应该通知观察者,或者观察者是否应该从每个客户端(在某些时间间隔)请求更改摘要,将其合并并将其返回给客户端。用您提供的最少信息来回答太复杂了。 关于.NET:向同一应用程序的所有实例发送文本消息并阅读,我们在StackOverflow上找到一个类似的问题: