草庐IT

if-null-then-null

全部标签

windows - 批处理文件 - 在 “if” 中设置变量,然后在 "set"中设置变量

我正在尝试创建一个包含一些名称的菜单。每个名称将用一个数字表示。如果我输入数字。它将打开youtube或google。我可以使用(goto)选项执行此操作,但在这种情况下,我试图用youtube或google替换单词droploc。可能吗?@echooff@echomenu@echoenter1forgoogle@echoenter2foryoutubesetgoogle=1setyoutube=2REMExample1if"%1%"=="1"(setdropLoc=1)echo%dropLoc%start"link""https://dropLoc 最佳答

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函数

c - 我的应用程序中的 ANSI C : how can I include and then extract . exe 文件(将 .exe 打包成 .exe)?

我正在编写一个创建Windows服务的程序。所以我需要两个.exe文件——一个用于程序,创建服务,另一个用于服务本身。但是我想将这两个文件合二为一。我有以下想法-打开.exe文件,我想在文本编辑器中打包(服务应用程序),然后将其内容复制到某个字符串。然后我需要在所需目录中创建一个空的.exe文件并将字符串写入该文件。但我想这不是一个好主意。解决我的问题的最佳方法是什么?提前致谢。 最佳答案 为了好玩,我写了一个使用您的方法的“启动器”程序。它有效,我使用zoomin.exe作为有效载荷对其进行了测试。创建启动器可执行文件后,在Not

在 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

windows - 批处理 IF 语句总是返回 false?

好的,所以我有这个::askSET/panswer=Hellouser.Doyouwanttousethisprogram?(y/n)IF[/i]%answer%==yGOTOyesIF[/i]%answer%==n(GOTOno)ELSE(ECHOYourinputwasnotaccepted.Pleasetryagain.&GOTOask):yes......:nopause问题是两个if语句都返回false并且它不断地询问我的输入。我想要这样,如果答案既不是y也不是n,则用户必须重新输入他们的答案。有什么帮助吗?谢谢 最佳答案

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名称作

Windows批处理脚本在if条件下替换子字符串

尝试将11/22/2016替换为11222016。为此,我尝试了以下操作并按预期工作。setstring=dd/mm/yyyy.setfind=/setreplace=callsetstring=%%string:!find!=!replace!%%echo%string%输出是ddmmyyyy但是当我在if条件下尝试这样做时,它没有按预期工作。setlocalenabledelayedexpansionsetisDateFound=falsesetstring=dd/mm/yyyy.if"%isDateFound%"=="false"(echo%isDateFound%setfind

Windows Batch IF !hour! EQU "09"未返回 TRUE

我有一个每10分钟更新一次.txt文件的应用程序。每天一次,文件在0900(上午9点)之后第一次更新,我想发送该文件的电子邮件。更新后的文件(由第3行的SET命令指向)的时间戳可以是0900到0910之间的任何时间。我打算做的是每天在0857运行一个批处理文件,运行15分钟检查文件的日期戳,直到时间变​​为09,然后它发送电子邮件并完成。在下面用于测试函数的代码摘录中,我遇到了简单比较语句的问题:IF!hour!EQU"09"(GOTO:rundailymail)ELSE(Timeout/T6).尽管(根据我运行它时的回显),小时是“09”,但比较返回false。要测试它,您需要一个时