Tag: winapi

未定义的“睡眠”参考,但我确实包括

嗯,这一定是个傻瓜。 下面是C中不可能更简单的代码。它不能编译说“未定义的睡眠引用”。 但我认为我包含了我需要的所有系统头… #include #include int main() { printf(“Test starts.\n”); sleep(1); printf(“Test ends.\n”); return 1; }

如何确定Win32线程是否已终止?

如何确定Win32线程是否已终止? GetExitCodeThread的文档警告不要因为这个原因使用它,因为出于其他原因可以返回错误代码STILL_ACTIVE。 谢谢您的帮助! 🙂

Windows系统中是否有未缓冲的I / O?

我想找到低级C / C ++ API,相当于linux系统中的“write”,没有缓冲区。 有吗? 缓存的I / O如fread,fwrite不是我想要的。

我可以通过检查DLL本身来判断使用哪个版本的Visual Studio来构建DLL

我需要重建几年前建立的DLL。 我有原始的C源代码,但不是Visual Studio项目或解决方案。 我想尝试使用最初使用的相同Visual Studio版本重建它。 我可以说这是一个普通的旧Windows DLL,而不是.NET。 我也知道源代码在C中。通过检查DLL二进制文件,还有什么我可以告诉原始构建环境和工具吗? 谢谢!

如何将Unicode路径转换为ac字符串?

如何从Unicode路径名(LPWSTR)转换为ASCII等效? 被调用的库只能理解c字符串。 编辑:好的,我拿了GetShortPathName和WideCharToMultiByte建议并创建了那段代码,我用路径中包含Unicode字符的一些文件夹测试了它,它运行得很完美: wlength = GetShortPathNameW(cpy,0,0); LPWSTR shortp = (LPWSTR)calloc(wlength,sizeof(WCHAR)); GetShortPathNameW(cpy,shortp,wlength); clength = WideCharToMultiByte(CP_OEMCP, WC_NO_BEST_FIT_CHARS, shortp, wlength, 0, 0, 0, 0); LPSTR cpath = (LPSTR)calloc(clength,sizeof(CHAR)); WideCharToMultiByte(CP_OEMCP, WC_NO_BEST_FIT_CHARS, shortp, wlength, cpath, clength, 0, 0);

在C中使用带有sendInput的鼠标

我想以编程方式移动并使用C中的Windows API单击鼠标。我搜索了google的高低,并且找不到任何针对普通C的sendInput教程。我只能找到C#/ C ++。 我对Windows API没什么经验,并且非常喜欢一个能够覆盖sendInput的精彩教程! 谢谢!

在iowin32.h中的宏

我无法理解minizip的iowin32.h中的以下行: void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); ( 来源 ,过时但仍然相关) OF宏有什么作用?

Windows API是否具有滚动条控件?

在Delphi中,有一个名为TScrollBox的组件,它允许您向TImage组件添加滚动条。 我需要在纯Windows API中为图像添加滚动条。 那么Windows API有这样的控制吗? 我发现的只是这篇1993年的文章 ! 如果没有,那么如何向我的图像添加滚动条?

异步ReadDirectoryChangesW – GetQueuedCompletionStatus总是超时

正如它听起来一样,我正在尝试使用IO完成的异步ReadDirectoryChangesW并且它不起作用,具体而言, GetLastError重复返回258( GetQueuedCompletionStatus超时)。 我有结构: typedef struct dirinfo_struct { HANDLE hDirFH; // directory handle OVERLAPPED Overlapped; // overlapped storage int len_buffer; // buffer length wchar_t* buffer; // buffer itself wchar_t* directory_name; // target name } dirinfo_t; typedef struct dirmon_struct { HANDLE hDirOPPort; // handle to the IO port. dirinfo_t* dirinfo; // pointer to the struct above. […]

从HFONT创建修改过的HFONT

我使用Win32 API和C / C ++。 我有一个HFONT,想用它来创建一个新的HFONT。 新字体应使用完全相同的字体指标,但它应该是粗体。 就像是: HFONT CreateBoldFont(HFONT hFont) { LOGFONT lf; GetLogicalFont(hFont, &lf); lf.lfWeight = FW_BOLD; return CreateFontIndirect(&lf); } “GetLogicalFont”是缺少的API(据我所知,无论如何)。 还有其他方法吗? 最好是适用于Windows Mobile 5+的东西。