草庐IT

c - 获取包含十六进制值的 LPTSTR 或 CHAR* 的大小

我尝试使用以下代码获取LPTSTR变量和CONSTCHAR变量的大小,但无法获取正确的大小。我应该得到20,但我得到的是constchar*变量的0和LPTSTR变量的4。constchar*var1="\x00\x00\x00\x00""\x00\x00\x00\x00""\x02\x00\x00\x00""\x5B\xE0\x5B\xE0""\x00\x00\x00\x00";LPTSTRvar2="\x00\x00\x00\x00""\x00\x00\x00\x00""\x02\x00\x00\x00""\x5B\xE0\x5B\xE0""\x00\x00\x00\x00";pr

python - 使用 Windows SDK 构建 Python 包的批处理脚本

我目前正在按照Compiling64-bitextensionmodulesonWindows中的说明在Windows上构建64位扩展.我想编写脚本,这样我就不必每次都打开WindowsSDK命令外壳,所以我有一个批处理文件:setlocalEnabledDelayedExpansionCALL"C:\ProgramFiles\MicrosoftSDKs\Windows\v7.0\Bin\SetEnv.cmd"/x64/releasesetDISTUTILS_USE_SDK=1\path\to\python.exe\path\to\setup.pybdist--format=msi但是

windows - 什么是 Windows 8 'Child Session'?

我目前正在编写一个代理服务,它根据特定条件将一个进程启动到任意session中。在查找我使用的其中一个API的文档时,我注意到Windows8添加了一些新的API,用于控制一些新的“子session”功能(WTSIsChildSessionsEnabled、WTSEnableChildSessions、WTSGetChildSessionId)。问题是,据我所知,这个新的“子session”功能在任何地方都没有记录。我希望能够“面向future”我的应用程序并支持这项与我的应用程序相关的新技术,但如果我不知道它是什么,我无法弄清楚它是否相关!有谁知道这到底是什么,或者有指向某个地方的链

c++ - 异步停止 Windows 服务

我正在尝试控制应用程序中的服务。通过StartService(MSDN)启动服务工作正常,服务需要大约10秒才能启动,但在调用StartService后它立即将控制权交还给主应用程序。但是,当通过ControlService(MSDN)停止服务时-据我所知,没有StopService-它会在整个时间内阻塞主应用程序,直到服务停止,这大约需要10秒。Start:StartServiceW(handle,0,NULL)Stop:ControlService(handle,SERVICE_CONTROL_STOP,status)是否有非阻塞/异步停止Windows服务的方法?

windows - 是否需要调整 token 权限才能成功调用 CreateRemoteThread?

我正在为我的应用程序开发一个调试工具来帮助我诊断死锁。该应用程序在我客户的机器上运行,因此我希望有广泛的操作系统、安全策略等。我使用的技术是在目标应用程序中实现一个函数,该函数为所有线程生成堆栈跟踪以及其他诊断信息。然后将其写入内存映射文件。我还创建了一个实用程序,用于触发诊断报告的创建,然后从内存映射文件中读取它。因为目标应用程序预计会死掉,所以实用程序无法向它发送消息来触发诊断收集。相反,我正在使用CreateRemoteThread,这样我就可以确保获得一个事件线程来完成工作。请注意,这与通常使用LoadLibrary作为CreateRemoteThread的线程过程的DLL注入

c# - 获取窗口的投影尺寸

我需要知道窗口的投影尺寸。我尝试通过GetSystemMetricsWinAPI函数接收值,但找不到要传递的参数。关于如何全局获取此值(或单个窗口句柄)的任何想法?我知道投影的宽度取决于窗口类型(对话框/普通/等等)。我会使用C#实现此功能,但C++也可以。 最佳答案 有一种方法可以使用DWMAPI计算出阴影的大小,但是,只有在窗口可见时它才会起作用。在以前的Windows版本中,有ClientRect和WindowRect。但是自从Vista出现以来,窗口就出现了第三个Rect,称为ExtendedFrameBounds。第三个r

c++ - 在串行端口上写入时出现错误 112(磁盘已满)是什么意思?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。在Windows机器上写入串行端口(COM1)时出现写入错误。返回的错误是112(DISK_FULL)。因为这是一个串行端口,所以我不明白错误的含义。难道是缓冲区满了?我不这么认为,因为我在打开端口后发送的第一个请求中收到错误。

C++:将控制台窗口设置为 WS_POPUP

我正在尝试创建一个无边框的控制台窗口。我能够将windowstyle设置为WS_POPUP,它删除了边框,但是有一些小故障;似乎控制台窗口上有一些部分没有被重绘,或者类似的东西,但我已经尝试在整个窗口上使用InvalidateRect()和其他重绘函数,但它们没有似乎有效。有人建议使用SetWindowPos()(带有SWP_FRAMECHANGED),但这也没有任何作用。我已经研究这个问题有一段时间了,我很确定它与未正确绘制的客户区域有关(不要在这方面引用我的话)此外,当我先向下滚动然后向上滚动时,底部的故障部分会变成黑色/透明,但我的程序中的文本有时不会显示在它下面,据我所知这表明

c++ - 使用 C++ 的密码到期日期?

我想使用C++win32API显示密码过期对话框...我是使用System.directoryservice命名空间完成的...但现在我需要Win32API..有没有获取密码有效期的函数?提前致谢 最佳答案 您可以使用以下函数获取密码到期日期:HRESULTGetPasswordExpirationDate(LPTSTRlpszPathName,LPSYSTEMTIMElpExpirationDate){HRESULThr;IADsUser*pUser;hr=ADsGetObject(lpszPathName,IID_IADsUse

c++ - 自旋控制位置问题 (Windows)

我在旋转(上/下)控件时遇到问题。在旋转控件的属性中,我将“SetBuddyInteger”设置为true。在我的dialogboxproc的WM_INITDIALOG中,我将其伙伴设置为静态文本控件:SendMessage(GetDlgItem(hDlg,IDC_SPIN2),UDM_SETBUDDY,(WPARAM)GetDlgItem(hDlg,IDC_STATIC1),0);我还设置了最小/最大范围和起始位置:SendMessage(GetDlgItem(hDlg,IDC_SPIN2),UDM_SETRANGE,0,MAKELPARAM(1,1));SendMessage(Ge