标签: hinstance

确定当前的HINSTANCE?

win32应用程序的HINSTANCE传递给WinMain,但有没有其他方法可以确定当前的HINSTANCE(如果你不知道,我是win32编程的新手!)?我需要在库中创建一个窗口(因为库是跨平台的),id不想传递它.

winapi hinstance

46
推荐指数
3
解决办法
5万
查看次数

在WinMain中hPrevInstance的目的是什么?

的定义WinMain为:

int CALLBACK WinMain(
    _In_ HINSTANCE hInstance,
    _In_ HINSTANCE hPrevInstance,
    _In_ LPSTR     lpCmdLine,
    _In_ int       nCmdShow
);
Run Code Online (Sandbox Code Playgroud)

我的理解是:

然而,即使是在20 世纪90年代后期的书中,也从来没有遇到任何用法.那么,使用什么,究竟什么呢?hPrevInstancehPrevInstance

c windows winapi hwnd hinstance

11
推荐指数
1
解决办法
1926
查看次数

转发声明HINSTANCE和朋友

有没有办法HINSTANCE从WinAPI 转发声明类型而不包括完整(和大)windows.h标题?

举例来说,如果我有一个类RenderWindow拥有的HINSTANCE mInstance,我将不得不包括windows.hRenderWindow.h.因此,所需的一切RenderWindow也必须包括在内windows.h.

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

c++ winapi hinstance

7
推荐指数
2
解决办法
7286
查看次数

自解压可执行 C++

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

\n\n
#include <iostream>\n#include <Windows.h>\n\nusing namespace std;\n\nvoid ExtractResource(const HINSTANCE hInstance, WORD resourceID, const char* outputFilename);\n\nint main()\n{\n    HINSTANCE hInst = GetModuleHandle (0);\n    ExtractResource(hInst, 101, "101.dll");\n    ExtractResource(hInst, 102, "102.dll");\n    ExtractResource(hInst, 103, "103.dll");\n    ExtractResource(hInst, 104, "104.dll");\n    cout << "Files are now extracted!";\n    Sleep(INFINITE);\n}\n\n\nvoid ExtractResource(const HINSTANCE hInstance, WORD resourceID, const char* outputFilename){\n\n        // First find and load the required resource          \n\n        HRSRC hResource = FindResource(hInstance, MAKEINTRESOURCE(resourceID), "BINARY");\n\n        if(hResource==NULL)\n\n                return;\n\n        HGLOBAL hFileResource = LoadResource(hInstance, hResource);\n\n\n\n        // Now open and map this …
Run Code Online (Sandbox Code Playgroud)

c++ resources extract hinstance

5
推荐指数
1
解决办法
5606
查看次数

win32 hInstance是否独一无二?

我正在编写一个缓存处理程序,它需要为每个应用程序实例提供一个唯一的ID号,这样当有人在两个实例中打开两个项目时,缓存就不会混淆了.根据这个线程,看起来HINSTANCE传递的WinMain是模块的句柄,它可以只是exe,不一定是唯一的进程ID.

线程似乎说有关要运行的模块/进程的信息只被带入内存一次,并且HINSTANCE是一个句柄.这是否意味着HINSTANCE不能将其用作流程的唯一标识符,因为它们都指向同一个模块?还是我弄错了?

c++ win32-process hinstance

1
推荐指数
1
解决办法
76
查看次数

标签 统计

hinstance ×5

c++ ×3

winapi ×3

c ×1

extract ×1

hwnd ×1

resources ×1

win32-process ×1

windows ×1