草庐IT

id_number

全部标签

windows - 软件设计 : how to get DLL version number

我有一个用于合规性场景的DLL(其细节无关紧要)。重要的一点是主要可执行文件必须显示DLL版本号。我的解决方案是DLL有一个函数来返回它自己的版本-即从它自己的版本资源中获取它并将它作为字符串返回。我的评论者说主程序应该计算出DLL版本号。他甚至给了我一些代码来获取DLL模块句柄并使用它提取版本。我的问题是,哪个设计更好,为什么?我的感觉是,使用OO原则,我应该向DLL询问其版本号。换一种方式意味着主程序需要知道版本信息是如何存储的,因此与实现更紧密地耦合。请注意,我确切地知道如何从DLL中提取版本信息。我的问题是关于执行此操作的代码的最佳位置。 最佳答案

使用 Windows API 比较线程 ID

我正在使用WindowsAPI线程,我想比较线程ID。首先,我用CreateThread()创建了一个线程并存储我从函数中获取的句柄(HANDLE)和ID(LPDWORD)。然后我使用GetCurrentThread()从创建的线程中获取句柄和ID和GetThreadId().对于两个句柄和两个ID,我总是得到不同的值。有没有办法以类似于pthread的方式比较线程?我这样做是为了作为确认正确执行的调试选项。我总是从其他库(pthread.h、threads.h)但不是从Windowsapi得到正确的结果。这不是一个关键问题,但我想学习winapi中的程序

windows - 推送后输入 key/.ssh/id_rsa' 的密码

这个问题在这里已经有了答案:Gitenterlongpassphraseforeverypush(3个答案)GitHubforMacpopsup"enteryourpasswordforthesshkeyid_rsa"atstartupeachtime(3个答案)关闭8年前。我花了很多时间在git上,有一次,当我推送我的提交时-我有:输入key/.ssh/id_rsa'的密码。阅读了很多关于它的解决方案但最终找不到正确答案。有人知道如何修复它以及会发生什么吗?

c - 错误 C2059 : syntax error : 'bad suffix on number' with cl. exe vc 编译器

我尝试编译的代码片段是这样的VOIDPTSetPageAttributexxyy(INUINT642g,INUINT64Base,INUINT64Length,INUINT32Ra,INUINT32Wa,INUINT32Xa,INMY_ATTRIBUTE_SETTINGsetting);我得到:errorC2059:syntaxerror:'badsuffixonnumber'用cl.exevc编译器 最佳答案 参数名称2g无效。它必须以字母或_开头。 关于c-错误C2059:synta

windows - OpenSSL:使用命令行工具的错误魔数(Magic Number)

作为背景,我正在研究MatasanoCryptoChallenges.其中一个问题(第1组,挑战7)是解密AES-128ECB模式file使用给定的键,YELLOWSUBMARINE。文件是base64编码的,我可以用Python解密文件,但我不能使用Windows10openssl命令行工具。我正在运行的命令是:opensslaes-128-ecb-d-a-in7.txt-passpass:"YELLOWSUBMARINE"当我运行它时,我被告知我有一个错误的魔数(MagicNumber)。有人知道我为什么会收到此错误吗? 最佳答案

c++ - 如何从 HMENU 获取菜单 ID?

当用户按下F1键时,我正在尝试为我的对话窗口覆盖WM_HELP消息。该窗口有几个按钮,可通过TrackPopupMenu显示上下文菜单,以及主菜单(在顶部)。因此,此窗口中的菜单不止一个。我可以在处理WM_HELP时捕获菜单消息,但我需要知道哪个上下文菜单发送了这条消息:BOOLCMyDialog::OnHelpInfo(HELPINFO*pHelpInfo){if(pHelpInfo->iContextType==HELPINFO_MENUITEM){HMENUhMenu=(HMENU)pHelpInfo->hItemHandle;//HowtogetmenuIDfromHMENU?

Windows 批处理 :Count the number of files deleted using forfiles command

我编写了一个简单的批处理作业,使用forfiles将文件从一个文件夹复制到另一个文件夹,这些文件早于x天。但是我需要计算已复制的文件数。我尝试了多种方法来做到这一点,但没有成功。任何人都可以帮助我度过难关吗?@EchooffEchoStartingthescriptforcopyingfilestootherfolder.setdt=%date:~10,4%-%date:~4,2%-%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%setfilesMovedCount=0forfiles/pC:\symphonybackup\symphonyba

string - 批处理 : Handle numbers above 2^32

我想在依赖于我的可用存储空间的批处理文件中执行操作,但它失败了(有趣的是,只是有时),因为可用空间超过2GB,使得变量无法设置。这是批处理文件:cd"C:\Users\Fabian\Desktop\ScreenRecordings\Auto"for/F"usebackqdelims==tokens=2"%%xin(`wmiclogicaldiskwhere"DeviceID='C:'"getFreeSpace/format:value`)do(setFreeSpace=%%x)if(%FreeSpace%)LSS(2499522027520)(for/F"delims="%%ain('

Windows 内核驱动程序 : Does the "HANDLE UniqueThread" in "CLIENT_ID CreatingThreadId" is the same during the process loading?

我正在尝试编写一个APCdll注入(inject)驱动程序,我找到了this示例并考虑根据我的需要对其进行修改。在我理解了代码之后,我想到了如何修改它(我的问题由此而来)。在code,作者使用了PsLookupThreadByThreadId接收指向目标进程的ETHREAD结构的引用指针。PsLookupThreadByThreadId(pSpi->Threads[0].ClientId.UniqueThread,&Thread)但要得到SYSTEM_THREAD_INFORMATION对于UniqueThreadhandle,他用过ZwQuerySystemInformation我想

windows - 获取当前事件窗口的线程 ID

我需要获取事件窗口的线程ID。是否有WindowsAPI函数可以让我获取此信息?有GetCurrentThreadId函数,但它会返回调用线程的ID,而不是事件窗口线程,因此它对这个目的没有用。编辑:按照建议编辑我的问题以提供有关我为什么需要这个的额外信息,这里是:我正在实现LowLevelKeyboardProc捕获键盘输入,并且由于键盘布局因程序而异,我想确保为处理键盘的事件窗口获取布局:代码片段:HWNDactive_window=GetForegroundWindow();DWORDthread_id=GetWindowThreadProcessId(active_window