草庐IT

handling-a-browser-back-button-pr

全部标签

c++ - const HANDLE 真的是 const 吗?

据我所知,HANDLE只是指代某种“系统资源表”的数字。这个句柄const正确吗?我猜不是因为它只是用来访问一个表,就像数组的索引一样。位图示例:虽然HBITMAP声明为const,但我可以更改位图的内容吗? 最佳答案 HANDLE是(AFAIR)int的typedef,因此constHBITMAP与constint相同。从这个意义上说,即使位图的句柄是const,您也可以更改位图的内容,因为const指的是句柄而不是实际的位图(将其视为指向变量类的const指针。)但是:无论如何,您的问题没有实际意义,因为:句柄是Win32API

c++ - Windows 上 HANDLE 的来源

我目前正在从事一个项目(C语言),在该项目中我使用了不同的winHANDLE(互斥锁、信号量、线程……)。我的问题是:有没有办法检索HANDLE链接到的内核对象的类型?类似于:Get_HANDLE_source()或Is_thread_HANDLE()?谢谢,干杯! 最佳答案 正如NtQueryObject所说。但使用一些OO概念可能更好:structHandleVtable{/*functionpointertoappropriateimplementation*/};structHandleWrapper{structHandl

c++ - HANDLE 和 DCB 的 Linux 实现

我必须将一个程序迁移到使用WindowsHANDLE和DCB的Linux,例如:intDLMSClient::GXGetCommState(HANDLEhWnd,LPDCBDCB){//code}我该如何将它们迁移到Linux?来自here,我已经弄清楚如何迁移DWORD、WORD和BYTE,但我该如何处理这些新类型?此外,我可以了解此过程的来源可能会有所帮助。 最佳答案 您可能正在使用串行端口,但在Linux中,串行端口的管理方式与在Windows中有所不同。它们之间没有简单的一对一映射。此外,在Linux中,串口是终端,它们可能

windows - WSL (Ubuntu) : how to open localhost in browser from bash terminal

我正在尝试打开http://localhost在(任何)来自WSLbash终端的浏览器中。到目前为止我已经尝试过:>HowcanIopenGoogleChromefromtheterminalwiththeURL"localhost:3000"?>"Couldn'tfindafiledescriptorreferringtotheconsole"onUbuntubashonWindows>HowtomentionC:\ProgramFilesinbatchfile没有为xdg-open设置BROWSER变量,它用/usr/bin/xdg-open:851:/usr响应xdg-openh

c - 是否可以仅按名称管理 JobObject,而无需保持打开的 HANDLE?

使用流程,我可以执行以下操作:intpid;::CreateProcess(NULL,cmd,...,&pi);pid=pi.dwProcessId;::CloseHandle(pi.hProcess);//thenlater...HANDLEproc=::OpenProcess(PROCESS_TERMINATE,FALSE,pid);::TerminateProcess(proc,1);::CloseHandle(proc);以这种方式,我可以仅通过pid管理windows进程,这对于多平台代码来说非常好。我想将此模式扩展到作业对象:HANDLEjob=::CreateJobObj

c++ - CreateFileMapping 返回 ERROR_INVALID_HANDLE

我是第一次尝试使用CreateFileMapping,当我使用GetLastError()时出现此错误:ERROR_INVALID_HANDLE:Thehandleisinvalid.这是我的代码://createthenameofourfile-mappingobjectnTry++;//EnsuresauniquestringisusedincaseuserclosesandreopenswsprintfA(szName,FS6IPC_MSGNAME1":%X:%X",GetCurrentProcessId(),nTry);//stuffthenameintoaglobalatom

c++ - Windows CreateFileMapping : different file-mapping objects with same backed file

我知道我们可以使用文件映射在两个进程之间共享内容,但这需要相同的文件映射对象。如果每个进程使用自己的文件句柄创建自己的文件映射对象,但每个文件句柄都指向同一个文件,会发生什么情况?谢谢张 最佳答案 来自文档:Creatingafilemappingobjectdoesnotactuallymaptheviewintoaprocessaddressspace.TheMapViewOfFileandMapViewOfFileExfunctionsmapaviewofafileintoaprocessaddressspace.Withon

windows - SysInternal 的 handle.exe 的输出

我正在使用SysInternal的handle.exe,我正在尝试理解输出。这是一个片段:24C:File(RW-)C:\ProgramFiles(x86)\Google\Chrome\Application\Dictionaries\en-US-8-0.bdic2E8:Section\Sessions\1\BaseNamedObjects\CrSharedMem_5ae414b12a307dbddc3f42b8b35edcbf313107945050b3aaab1602ecd937c9402F4:Section\Sessions\1\BaseNamedObjects\CrShared

windows - 德尔福,Windows : Best way to find whether web-browser is running?

查找网络浏览器是否正在运行的最佳方法是什么?在Windows上使用DelphiXE2,我需要查找以下Web浏览器当前是否正在运行:A)火狐浏览器B)苹果浏览器C)谷歌浏览器如果找到,该进程将被终止,因为需要通过修改网络浏览器配置文件以编程方式更改网络浏览器的主页(这是不可能的,或者如果在web时完成可能会导致不可预测的结果)-浏览器正在运行)。EnumWindowsAPI函数的输出是否包含处理上述任务所需的足够信息?如果是,那么是否在任何地方记录了上述每个网络浏览器的窗口类名称?如果不是,那么哪种方法最可靠?TIA。 最佳答案 未经

c++ - 从 'OLE_HANDLE' 转换为 'HICON' 的正确方法是什么?

对于x64目标构建,从“OLE_HANDLE”转换为“HICON”的正确方法是什么?特别是对于普通的C风格转换,我在使用x64配置编译时收到此警告:警告C4312:“类型转换”:从“OLE_HANDLE”到更大尺寸的“HICON”的转换这是有问题的代码:imgList.Add((HICON)ohIcon);上面的代码对我来说工作正常,但我想在为x64构建时摆脱警告。 最佳答案 H泄露了它,在这种情况下,库代码创建了一个独特的类型,为您提供更多的类型安全性(在旧CAPI的时代)。它们实际上都是HANDLE,这是一个内核对象,它并不真正