草庐IT

Out-Null

全部标签

c - LoadImage() 返回 NULL 和 GetLastError() 返回 0

我一直在网上的不同论坛上搜索答案,但似乎没有与我的情况相符的...我正在使用Windows7,VS2010。我有一个使用定时器来调用任务栏刷新功能的应用程序。在该任务栏函数中包含对LoadImage()的调用,该调用从资源文件中获取图标图像,并最终发送给taskber(使用shell_notifyicon)。在运行应用程序时,这似乎在前几个小时内工作正常,但突然LoadImage()开始失败(它始终是它尝试加载的同一个.ico文件)并返回NULL。我在之后直接插入了一个GetLastError调用,但它总是返回0(表示成功)。图像本身仍然是好的和有效的,我无法解释这一点。有什么线索吗?

windows - 假设 GetDC(hWnd) 作为 WM_CREATE 上的第一条指令被调用,对于窗口 hWnd,GetDC() 是否有可能返回 NULL?

假设GetDC(hWnd)作为WM_CREATE上的第一条指令被调用,对于窗口hWnd,GetDC()是否可能返回NULL?我担心GetDC()可能因资源不足而失败。当发生这种情况时,我应该检查错误吗?调用失败怎么办?Win32API函数会引发异常还是我应该引发异常? 最佳答案 GetDC()确实会失败,无论您何时何地调用它。在处理API时,您应该采取相当悲观的观点,并为任何API函数失败做好准备。正如您所建议的,失败的一个可能原因是系统资源耗尽,例如内核句柄、GDI对象等。所以你应该经常检查错误。不仅是GetDC(),对API函数

windows - 如何从本地 svn 副本(而不是 svn 服务器) check out 子文件夹?

对于一些简单的Windows批处理脚本,我想在某个版本的svn存储库的本地工作副本中临时创建某个文件夹的副本。我不想直接从svn服务器结帐(因为那时我的脚本需要知道服务器地址是什么,并且可能需要进行身份验证等)而且我不能只复制子文件夹,因为隐藏的.svn文件夹在更高的位置。我一直在尝试一些变体(使用包含.svn隐藏文件夹的repo文件夹):svncofile:///E:/repo/paper@48E:/temprepo但这行不通。我的Windows7命令提示符回答svn:E180001:UnabletoconnecttoarepositoryatURL'file:///E:/repo/

在 Windows 核心文件上调用 fopen 返回 NULL 指针

我试图通过它们的绝对路径(在其他地方以编程方式确定)打开几个不同的文件,这样我就可以获得它们的SHA1哈希*,其中一些是核心Windows文件。当我尝试按如下方式打开文件时,fopen()在某些(但不是全部)文件上返回NULL(通常文件名是通过QueryFullProcessImageName获取的,但为了以防万一,我对其进行了硬编码):char*filename="c:\\windows\\system32\\spoolsv.exe";FILE*currFileRead=fopen(filename,"rb");if(currFileRead==NULL){printf("Faile

c++ - wglCreateContextAttribsARB 在有能力的硬件上返回 NULL

我有一个程序可以在Windows机器上创建OpenGL4.0上下文。在我自己的电脑上,这段代码可以工作——但是,在我friend的电脑上,它就不行了。wglCreateContextAttribsARB返回NULL,即使我friend的Nvidia卡支持OpenGL4.4并且应该能够返回向后兼容的上下文。其他所有调用都按预期进行。这是上下文创建代码:dc=GetDC(window::get());PIXELFORMATDESCRIPTORpfd={0};pfd.nSize=sizeof(pfd);pfd.dwFlags=PFD_DOUBLEBUFFER|PFD_SUPPORT_OPEN

windows - Powershell 检索作业给出 "cannot index into null array error"

我正在尝试使用以下脚本测试两台PC是否已连接$array='PC1','PC2'for($i=0;$i-lt$array.length;$i++){Start-Job–NameTestConnection$i–Scriptblock{if(test-connection$array[$i]-count1-quiet){write-hostSuccess}else{write-hostNoconnection}}}当我尝试为任何一个执行Receive-Job时,我得到“无法索引到空数组”。我做错了什么? 最佳答案 您需要传入PC名称作

c++ - 类似于 mmap(NULL, sz, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);在窗口中

我正在尝试将一些linuxC++移植到Windows,但一直停留在这样的一行void*ptr=mmap(NULL,sz,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0);我发现这是一种动态分配内存的方法,因为文件描述符是-1。我如何在Windows中执行此操作?我无法在没有文件处理程序的情况下使用MapViewOfFile的文档中找到任何内容。 最佳答案 MapViewOfFile不带文件句柄,它带文件映射句柄。要分配内存块,您可以创建一个匿名文件映射,如下所示:::DWORD

c# - 填充 TreeView 时出现 "Out of Memory"

当我使用XML填充TreeView层次结构时,我遇到了“内存不足”问题。我们的XML结构非常复杂,而且格式不固定。有多个级别的子节点。我正在使用递归来迭代XML并填充TreeView结构。我试着调用GC.Collect。清除内存但它仍然抛出相同的错误。我正在使用.NETFramework3.5的C#进行开发。如果您能帮我找到解决方案,我将不胜感激。我在下面提供了用于填充TreeView的代码privatevoidaddTreeNode(XmlNodexmlNode,TreeNodetreeNode){stringattribute="";treeView1.ImageList=imag

windows - 当前线程的 SetWindowsHookEx 返回 null

我在尝试为当前线程获取键盘钩子(Hook)时遇到问题。首先,我需要为所有线程获取键盘输入,所以我使用了:hHook=SetWindowsHookEx(WH_KEYBOARD_LL,mKeyboardProc,GetModuleHandle(NULL),0);这工作正常,但是当我尝试将dwThreadId参数(最后一个)设置为GetCurrentThreadId()时,SetWindowsHookEx返回NULL。可能是什么问题?谢谢。 最佳答案 WH_KEYBOARD_LL是一个全局钩子(Hook),如documentation中所

windows - Gstreamer : gst_element_factory_make() : always fail and return NULL : Qt5

我的问题是,我无法创建Gstreamer元素。我正在使用Qt5.2.1创建Gstreamer项目我在做什么:gst_init(NULL,NULL);GstElement*m_pipeline=gst_pipeline_new("pipeline1");GstElement*m_rtspSrc=gst_element_factory_make("rtspsrc","MyRtspSrc");但是gst_element_factory_make总是返回NULL。我已验证的内容:检查共享对象是否在$(libdir)/gstreamer-0.10/中。(它在那里)。gst-inspect-0.1