草庐IT

null_or_a_id

全部标签

windows - 启动程序并获取进程ID

在批处理文件中,我可以通过以下方式启动与当前session并行的程序start""notepad.exe但我需要了解我已经开始的流程。我怎样才能得到它? 最佳答案 @echooff::setyourowncommandhereset"command=notepad"set"workdir=."set"ReturnValue="set"ProcessId="for/f"skip=5eol=}tokens=*delims="%%ain('wmicprocesscallcreate"%command%"^,"%workdir%"')do(

windows - RegisterEventSource 方法在 Windows 关闭时返回 'null'

我在服务停止期间调用了RegisterEventSource()函数。但它在系统关闭期间返回null。这种行为有什么原因吗?错误:我在GetLastError()上收到错误代码0x800706b5谷歌搜索后,我才知道这与缺少注册表数据有关。另外,如何查看系统是否已经开始关机?(即相当于C#中的HasShutdownStarted()) 最佳答案 服务可以指定在系统关闭时是否通知它们。使用SERVICE_ACCEPT_SHUTDOWN标志调用SetServiceStatus()。然后,您将在服务控制消息处理程序中收到SERVICE_C

c# - 所有 Windows 计算机都有且无法更改的 ID 或序列号

我正在创建一个程序,在它运行之前从a进行身份验证。我也想拒绝访问。是否有所有Windows计算机都有的无法更改的ID或序列号,我可以将其列入黑名单?我将如何在C#中访问它? 最佳答案 MAC地址实际上可以很容易地更改。这篇文章:包含您想要的信息:HowToGetHardwareInformation.基本上,只需混合一些硬件组件ID,您就应该拥有一个非常可靠的系统key。 关于c#-所有Windows计算机都有且无法更改的ID或序列号,我们在StackOverflow上找到一个类似的问题

c++ - 在Windows中初始化静态全局变量时new返回NULL?

我正在努力将rLog与我们的代码库集成,我注意到Windows上存在一个在Linux上没有的问题。在头文件中,我有一个静态变量,它给了我一个“详细”的日志记录channel(基本上是从调试开始的),定义如下:staticRLogChannel*rlog_verbose=DEF_CHANNEL("verbose",Log_Debug);这在Linux上没有问题,但在Windows上,应用程序一启动我就会收到错误消息。我已经在rLog库中追踪到这一行:RLogChannel*rlog::GetComponentChannel(constchar*component,constchar*pa

mysql - 如果为 NULL,则返回零

我有一段MySQL正在命中一些空记录,如果NULL,我该如何设置它以返回0?谢谢!试过这个:sprintf(queryString,"SELECTCOUNT(*)FROMtblURLIPWHEREIP='%s'ANDIPStatus='1'ANDIPMax='0'ANDIPType='3'",ipSrc);没用:sprintf(queryString,"SELECTCOUNT(*)FROMtblURLIPWHEREIP='%s'ANDIPStatus='1'ANDIPMax='0'ANDIPType='3'",ipSrc,NULL),0); 最佳答案

c++ - CreateMutex 和 OpenMutex 返回 NULL

我正在编写一个具有共享内存的应用程序,并正在创建名称上带有适当"Local\"前缀的命名互斥体。但是,每次我调用CreateMutex函数来创建句柄时,我都会得到一个NULL返回值。我什至尝试在那之后调用OpenMutex并获得NULL返回。GetLastError()函数返回6,这意味着ERROR_INVALID_HANDLE。我相信这发生在第一次尝试在任何进程中创建这个命名互斥锁时。我在包含一些MFC组件之后包含了windows.h,并在应用程序的其他地方使用了CMutex;所以我不知道这是否是一个问题。我始终为前两个参数传递NULL和FALSE,并且我使用的是WindowsXP。

c++ - Windows 上通过 C++ 的唯一 CPU ID

好吧,我想获得一个唯一的CPUID,这样我就可以为每台机器获得一个唯一的标识。我确实从windows.h库中检查了__cpuid(),但问题是它得到的ID,它是所有类型CPU的ID,如果你有一个I3核心处理器而我有一个I3核心处理器,它会给相同的“唯一ID”。这是我从__cpuid()生成CPUID的方法,它返回相同类型处理器的相同信息:std::stringGetCPUID(){intCPUInfo[4]={-1};__cpuid(CPUInfo,0);if(CPUInfo[0]我还检查了一个名为“硬件ID提取器”的程序,它运行良好,它实际上返回了一个唯一的CPUID作为我想要的GU

windows - 难道不能从线程 ID 获取句柄吗?

在经典著作《Win32中的多线程应用程序》第31页,有如下说法:Toenforcesecurity,itisnotpossibletoobtainahandlefromathreadID.但是,我知道有一个众所周知的API,即OpenThread,可以完成这项工作。这是本书的错误吗? 最佳答案 有问题的书MultithreadingApplicationsinWin32发表于1996年,早于OpenThread()所在的操作系统功能可用。所以,这本书已经过时了。上面的MSDN链接说OpenThread()需要WindowsXP/20

c++ - 如何在进程间通信中获取其他端点的进程ID

使用Win32C++API,我想知道哪个IPCmethod,允许多进程通信中的任何端点获取与之通信的进程的PID或HANDLE。换句话说,如果进程A从进程B收到一条消息:如果B没有(直接)在发送的消息中给出任何提示,A可以知道B发送了消息吗?如何?要求:B的PID不能在IPC消息中发送给A。通信的目的是简单的远程过程调用。但是,我不希望远程系统/主机上的进程调用本地主机上运行的进程提供的过程。我当然找到了RPCdocumentationonMSDN.但是,我想知道是否有比RPC更好的方法来实现我想要的。或者,如果您认为RPC是可行的方法,能否告诉我原因以及您是否知道除MSDN之外还有其

windows - PSExec 中的 session ID

Psexec无法在远程session上为我显示记事本GUI。所以,我正在尝试获取sessionID,如下所示:c:\Users\Amitra\Downloads\PSTools>PsExec-uadministrator-pforce\\135.20.230.160querysessionPsExecv2.11-ExecuteprocessesremotelyCopyright(C)2001-2014MarkRussinovichSysinternals-www.sysinternals.comSESSIONNAMEUSERNAMEIDSTATETYPEDEVICE>services0