Articles of winapi

在Windows中检测文件“COPY”操作

假设我希望在我的系统上启动文件副本时获得通知,并获取文件名,复制或移动的目的地以及复制时间。 这可能吗? 你将如何去呢? 你应该钩CopyFile API函数? 有没有什么软件已经完成了这个?

我如何计算GetModuleFileName的完整缓冲区大小?

GetModuleFileName()以缓冲区和缓冲区的大小作为input; 但是它的返回值只能告诉我们复制了多less个字符,如果大小不够( ERROR_INSUFFICIENT_BUFFER )。 如何确定真正需要的缓冲区大小来保存GetModuleFileName()整个文件名? 大多数人使用MAX_PATH但我记得path可以超过(260默认定义)… (使用零作为缓冲区大小的技巧不适用于此API – 我已经尝试过)

如何使用winapi更改标题栏图标

我使用Windows API创build了一个应用程序,并使用资源文件夹将图标更改为我自定义的图标。 现在程序正在桌面上使用我的图标,但是在标题栏中有默认图标,这是确切的。 现在我想如何将其更改为我的自定义图标? 我正在使用MSVC ++ WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = szAppName; hwnd = CreateWindow(szAppName, TEXT("Random"), WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, […]