问题标签 [hinstance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
65498 浏览

winapi - 确定当前的 HISTANCE?

win32 应用程序的 HINSTANCE 被传递给 WinMain,但是有没有其他方法可以确定当前的 HINSTANCE(如果你不知道,我对 win32 编程很陌生!)?我需要在库中创建一个窗口,并且(因为库是跨平台的),id 不希望将其传入。

0 投票
5 回答
9465 浏览

c++ - 转发声明 HINSTANCE 和朋友们

HINSTANCE有没有办法在不包括完整(和大)windows.h标题的情况下从 WinAPI前向声明类型?

例如,如果我有一个RenderWindow拥有 的类HINSTANCE mInstance,我将不得不包含windows.hRenderWindow.h. 所以需要的一切RenderWindow也必须包括windows.h

我试过包括windef.h,但这似乎需要一些东西windows.h。:-(如果我不能转发声明它,是否至少有一种可移植的方式来使用类似long mInstanceinRenderWindow而不是HINSTANCE

0 投票
2 回答
2833 浏览

c++ - 如何使用 HINSTANCE 终止应用程序

我正在使用 ShellExecute 从 c++ 生成一个应用程序,因此我拥有该应用程序的 HINSTANCE。

我现在如何使用该 HINSTANCE 关闭它?我可以使用 WaitForSingleObject() 等待应用程序完成吗?

0 投票
0 回答
2806 浏览

winapi - 从 HWND 获取 HINSTANCE

GetWindowLong (GetTopWindow(NULL),GWL_HINSTANCE) 返回 0 ...(也尝试使用 GetWindowLongPtr) 有谁知道为什么会这样?

另外,您如何将 LONG 转换为 HINSTANCE?

  • GetTopWindow(NULL) 不返回 null

编辑:检查是针对注入到我要从中登录的应用程序中的键盘记录器。使用 GetModuleHandle(0) 我得到了我注入的应用程序的 HINSTANCE,如果我可以获得顶部窗口的 HINSTANCE,我可以检查我得到的输入是否适用于我的应用程序。

0 投票
1 回答
2451 浏览

c - WinMain中hPrevInstance的作用是什么

定义WinMain是:

我的理解是:

但是,我从来没有遇到过 的任何用法,即使是在1990 年代hPrevInstance后期的书中。那么,如果有的话,它的用途是什么,它到底什么?hPrevInstance

0 投票
1 回答
2701 浏览

c++ - 当用户点击一个键时显示一条消息

以下代码段旨在在用户键入密钥时显示消息。即使焦点不在应用程序上。但是下面的代码似乎有问题。它不会调用在 windows 的钩子链中注册的函数。我想问题出在HINSTANCE hInst. 我应该如何修改下面的代码,以便在用户点击一个键时能够看到消息。


但是 windows 不调用该函数LowLevelKeyboardProc。我不明白原因,但我确信问题出hInst在钩子函数中。我需要如何初始化它?

到目前为止,我看到的输出是Inside function setWinHook !

0 投票
0 回答
175 浏览

hinstance - 使用 HINSTANCE 将 Win32 应用程序重写为 Win32 控制台应用程序

我有一个使用 HINSTANCE 的 win32 应用程序。这是main.cpp:

testlib.c 看起来像这样:

我想要的是在 win32 控制台应用程序中重写代码。所有输出都将被回显而不是消息框。我想要一个控制台应用程序的原因是因为我需要用 mono 编译它并在 linux 服务器上使用它。

0 投票
2 回答
4673 浏览

c++ - 自解压可执行 C++

我试图了解自解压 PE 文件的工作原理。有人可以解释为什么我的代码不起作用,或者修复 main() 部分。

我在资源中有 4 个 dll 文件,但我无法使用它来提取它们。资源 ID 应该是正确的,我从资源标题中检查了它。

问题出在哪里,hInst或者还有什么问题?我希望有人可以帮助我:) 我刚刚开始学习 C 和 C++,所以请原谅我。

0 投票
1 回答
1093 浏览

managed-c++ - C3767: 候选函数不可访问

我有这堂课:

这是它的孩子:

然后在我的 Main 我调用我的 Run 函数:

我收到此错误:

我试图从运行参数中删除 HINSTANCE 并且一切正常,但我需要它以便有人可以解释我为什么会收到此错误以及如何解决?提前致谢!

0 投票
1 回答
705 浏览

c++ - 无法释放设备上下文、HWND,并且无法取消注册 Windows 类(OpenGL) -

我正在关注http://nehe.gamedev.net/tutorial/creating_an_opengl_window_(win32)/13001/ OpenGL 教程,并从中获得了代码。现在,我正在尝试通过使用多个类来组织事物。在创建此类时,我无法释放设备上下文 HWND,也无法取消注册 Windows 类。下面的代码是用于检查它们是否可以发布的代码:

(最后三个 if 语句被触发)

我正在移动的导致这些错误的代码是 WinMain 函数中的关键检测代码。这是我更改的唯一代码。

我改变的是 testKey.THING 部分。testKey 在主类中由行发起

Keys.cpp 看起来像这样:

最后,Keys.h 看起来像这样:

如果你愿意,我可以发布完整的代码,但我创建 DC 和 HWND 的方式在我上面发布的教程中显示和解释。

有谁知道我的密钥代码中的什么导致我的 DC 和 HWND 无法释放?