api-ms-win-downlevel-user
全部标签 我正在尝试使用win32print模块打印PDF文档。显然这个模块只能接受PCL或原始文本。那是对的吗?如果是这样,是否有可用于将PDF文档转换为PCL的模块?我考虑使用ShellExecute;但是,这不是一个选项,因为它只允许打印到默认打印机。我需要在各种网络的服务器上使用各种打印机进行打印。感谢您的帮助,皮特 最佳答案 我最终使用了Ghostscript来完成这个任务。有一个命令行工具依赖于Ghostscript,名为gsprint.您甚至不需要安装Acrobat即可以这种方式打印PDF,这非常好。这是一个例子:在命令行上:g
对绝对时间感兴趣,而不是测量持续时间的方法。Win32APIC++ 最佳答案 为此你需要特殊的硬件。尽管WindowsAPI报告毫秒,但根据此讨论,它并不完全准确:MostintelpentiumbasePC's(I'mnotsureaboutothers)haveatimerchiponthemotherboardthathasa1.19318166667MHzcounter.ThecountercountsdownfromN(bydefaultN=65535)to1attherateof1.19318166667MHz.Thes
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。Win32最好的可编译脚本语言是什么?我更喜欢.EXE,因为我不想先在服务器上安装运行时(我的公司通过远程管理很多),但我需要能够通过网络执行NTFS权限和(如果可能)API等操作。有一个小的Perl似乎能够完成大部分工作,但它似乎已经有一段时间没有更新/开发了。我对Lua很感兴趣,但我不知道它是否拥有我需要的一切(并且不想在五十个图书馆站点中搜寻以试图
我面临着使用可用的新Windows运行时功能的需要,并回退到新功能不存在的旧功能。代码路径对性能至关重要。如果平台(Windows8/WindowsServer2012)提供,我需要调用GetSystemTimePreciseAsFileTime,如果不存在较新的版本,则回退到GetSystemTimeAsFileTime。我知道我可以使用LoadLibrary和GetProcAddress加载GetSystemTimePreciseAsFileTime如果失败,回退到GetSystemTimeAsFileTime。我担心通过另一层间接调用像这样对性能至关重要的东西对性能的影响。是否有
运行几个小时后,我的应用程序无法创建新的字体对象:CreateFontIndirect()returnsNULL.我知道如何查找内存泄漏(即使用并行检查器或其他分析器-其中大部分包括泄漏检测)。但是如何定位Win32中的资源泄漏? 最佳答案 为自己准备一份GDIView-这个有用的工具可以显示您的应用程序使用的所有GDI对象,包括字体名称、大小等详细信息。这在过去被证明非常方便。对于Win32应用程序,您可能需要查看WTL框架-它使用轻量级C++类包装GDI对象,为您处理对象删除。 关于
我一直在通过C/C++阅读Windows的书。在第8章第215页,作者比较了各种同步机制的性能。而且我发现互斥锁的性能很差。当4个线程同时运行时,它花费了超过23秒用于互斥锁同步。为什么Win32mutex这么耗时?我们什么时候可以使用互斥体?PS:我把测试代码贴在了GitHub:https://gist.github.com/985198感谢您的回复。 最佳答案 Win32中的互斥量是一个内核对象,这意味着每次使用它(Wait、Release)都需要一个系统调用来切换到内核模式并返回到用户模式模式。另外,如果您的线程实际上必须等待
我正在用C++编写Windows控制台应用程序,并希望在成功时返回零,在失败时返回有意义的错误代码(即,S_OK应返回0,而E_OUTOFMEMORY应该返回一个不同于E_FAIL等的返回值)。以下方法可行吗?:intwmain(intargc,wchar_t*argv[]){HRESULThr=DoSomething();return(int)hr;}或者有更好的方法吗?也许是我忘记或找不到的标准Win32API函数或宏? 最佳答案 OP希望返回值为零以指示成功。有些成功代码是非零的,所以...if(SUCCEEDED(hr))r
使用VisualStudio.NET2003C++和wininet.dll我看到很多C4995warningsMoreinfo感谢任何帮助。谢谢。 最佳答案 除了上述答案之外,值得一提的是,仅在有限范围内禁用警告通常是一种很好的做法(如果您将这些编译指示放在头文件中,这一点尤其重要):#pragmawarning(disable:4121)//alignmentofamemberwassensitivetopacking#include#pragmawarning(default:4121)//Restoredefaulthandl
我尝试使用SetTimerAPI每隔X分钟调用一个函数。所以,我写了这段测试代码voidf(){printf("Hello");}intmain(){SetTimer(NULL,0,1000*60,(TIMERPROC)&f);}我应该每分钟都写下你好,但它不起作用。 最佳答案 你的程序有几个问题:C程序在离开main()时确实会结束,因此没有时间可以触发计时器。Win32计时器需要消息泵(见下文)才能工作,因为它们是通过WM_TIMER消息实现的,即使它们没有与任何窗口相关联,并且如果您提供函数回调。Whenyouspecifya
我的问题基本上说明了一切。我得到这个:C:\DOCUME~1\frew\MYDOCU~1\Code\AIRCRA~1\lib\ACD\VALIDA~1.PM我想要这个:C:\DocumentsandSettings\frew\MyDocuments\Code\aircraft_ducting\lib\ACD\Validators.pm我查看了File::Spec::Win32,但似乎没有任何东西可以解决问题。想法?谢谢! 最佳答案 您可以使用Win32::GetLongPathName($path)来自Win32模块。