草庐IT

c# - 从 C# 创建 Win32 事件

我想从C#创建一个内核(也称为命名事件)。我是否必须互操作服务并包装nativeCreateEvent函数,或者是否已经有一个.NET类可以完成这项工作?我需要运行的函数应该是这样的:hEvent=CreateEvent(NULL,false,false,"MyCSHARPEvent");这应该通知所有正在探测有关该事件的MyCSHARPEvent的进程。如果需要包装函数,我如何将SECURITY_ATTRIBUTES结构从C#转换为win32? 最佳答案 看看EventWaitHandle类(class)。从.Net2.0开始支持

c++ - 如何使用 Win32 API 对单选框按钮进行分组

我正在开发一个带有分组复选框的程序,我对消息如何通过不同的句柄传达感到困惑。IDE:VC++,Win32API首先,我有一个带有句柄的主窗口,例如hWnd。并且在WndProc函数中,在WM_CREATE情况下,我们创建了“组按钮”和单独的2个复选框注意:第一个按钮使用“BS_GROUPBOX”风格,它是用句柄hGrpButton创建的,而它的父句柄是hWnd。第二个和第三个按钮是“BS_AUTORADIOBUTTON”样式,它的父句柄是hGrpButton。如果这2个按钮没有分组(所以它们的父hanlder将是hWnd),很容易检查它们的状态。只需转到案例WM_COMMAND并使用其

c++ - Win32 并在 WindowProcedure 外捕获 WM_SIZE 消息

我有一个处理消息的函数,我在WindowProcedure之外捕获某些消息以触发所需的行为。问题是,虽然其他消息似乎正在按需要工作,但出于某种原因我无法捕获WM_SIZE消息。WM_SIZE出现在WindowProcedure中,但我找不到我的函数看不到它的原因。我读取当前HWND的方法有问题吗?目前的功能是://OSMESSAGESintOSMessages(void){MSGmsg;HWNDactwnd=GetActiveWindow();if(PeekMessage(&msg,actwnd,0,0,PM_REMOVE)){if(msg.message==WM_QUIT){prin

c++ - 使用 Win32 应用程序在 Windows 7 中禁用 CONTROL + ALT + DELETE 和 Windows(win) 键

这个问题在这里已经有了答案:DisableCtrl+Alt+DelonWindows7(3个答案)关闭5年前。我正在编写一个像kiosk一样运行的应用程序,应该允许用户退出应用程序。在Windows7中,当他按下Win键或CTRL+ALT+DELETE,它来自程序。我需要在Windows7Ctrl+ALT+DELETE组合键和Win键以编程方式。

c++ - 在已编译的 exe 中编辑字符串变量? C++ win32

我想在我的C++应用程序中有一些字符串,我希望以后能够在部署的应用程序(编译的exe)中编辑它们,有没有办法让exe编辑自己或它的资源这样我就可以更新字符串值了吗?该应用程序会在启动时检查更新,因此我正在考虑在需要编辑字符串(例如包含用于检查更新的url的字符串)时使用它来发送命令。我不想使用exe外部的任何东西,我可以简单地使用注册表,但我更喜欢将所有内容保留在exe中。我正在使用visualstudio2010c++(或任何其他版本的msvisualc++)。 最佳答案 我知道您说过您不想使用程序外部的任何东西,但我认为在这种情

c++ - 是否可以在intel/64位win7上的32位应用程序中使用64位指令

我的环境是64位win7,VC2010。当然,里面的intel是64位的CPU。我可以在32位应用程序中使用64位指令/本地机器字(64位)吗?由于我的大部分代码都是32位的,所以我不想将其移植到64位。对于一些性能关键的热代码,我想通过编译器内部或内联汇编手动优化它(另外64位VC编译器不支持内联汇编),是否可以运行64位代码foxexamplemovrax,32位模式应用程序中的rbx? 最佳答案 实际上,您可以。用于从32位模式切换到64位模式的机制(显然必须存在于能够运行32位代码的64位操作系统上)不受任何保护,可以从用户

c++ - C 风格、C++ 流或 Win32 API 文件 I/O?

我读了C++Streamsvs.C-styleIO?(在其他页面中)尝试帮助我决定在我正在处理的项目中以何种方式实现某些文件IO。背景我是C++和Windows编程的新手,我一直在C和命令行应用程序中工作。提前为这个问题的n00b-ness道歉。问题我想读取一个文本文件,处理内容并输出到另一个(新)文本文件。我在Win32环境中工作(这在可预见的future不会改变)并且正在编写应用程序以通过_T样式宏识别Unicode。“处理”可能包括插入/附加/删除文本行,最多128个字符。问题我宁愿写一些健壮的东西,所以I/O错误处理是一个考虑因素。我认为我需要远离C风格的文件I/O,除非是为了

C++ Win32 从资源创建弹出菜单

我正在尝试加载弹出式“右键单击”菜单,并使用资源文件来定义菜单项。该图片显示了我右键单击时发生的情况,它显示了2个项目的空间,这是正确的,但没有显示任何文本。在.cpp中:POINTpt;pt.x=LOWORD(lParam);pt.y=HIWORD(lParam);ClientToScreen(hwnd,&pt);HMENUhMenu=LoadMenu(NULL,MAKEINTRESOURCE(IDR_POPUPMENU));TrackPopupMenu(hMenu,TPM_RIGHTBUTTON,pt.x,pt.y,0,hwnd,NULL);和资源:IDR_POPUPMENUMEN

c++ - 键盘输入和 Win32 消息循环

如何处理Windows消息循环中的按键和按键事件?我需要能够调用两个函数OnKeyUp(charc);和OnKeyDown(charc);。我通过谷歌搜索发现的当前文献使我对WM_CHAR或WM_KEYUP和WM_KEYDOWN感到困惑,并且通常针对PDA或托管代码,而我使用的是C++。 最佳答案 典型的C++消息循环如下所示MSGmsg;while(GetMessage(&msg,null,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}TranslateMessage的作用

用于 win32 或 C++ 的 C#

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我知道C++Windows编程比C#难。因为我们应该创建WNDCLASS并初始化它并使用API函数和...但我的问题是,对于Windows编程,C#比C++好吗?如果是,为什么要用C++创建大型程序。