草庐IT

idle_event_id

全部标签

c# - 在重新安装和驱动器更改期间保持不变的持久系统/处理器 ID (C#)

我希望为我管理的某些嵌入式系统生成唯一ID。这些系统运行的是WindowsEmbedded7Standard和.NET4.0。ID必须:相对独特——每个嵌入式系统都在相同的主板、驱动器等上运行,我不会有冲突。坚持重新安装——这些计算机会定期使用我们软件的新版本进行重新镜像。不能依赖磁盘序列号——我们使用的不是真正的磁盘,而是带有CF转SATA适配器的CF卡,并且CF卡偶尔会被换掉。此外,我的机器中有多个NIC,因此只有有人能告诉我如何识别板载NIC和USB设备时,依赖板载NICMAC地址才有效。经过进一步研究,这似乎在托管代码的范围内是不可能的。完成此任务的最佳方法是什么?

windows - 关于 Win32 ##Event## 同步对象的问题

先介绍一下应用场景:我有一个服务应用程序正在监视某物的状态,同时还有多个应用程序正在等待状态更改。一旦状态发生变化,每个应用程序将读取状态值(通过命名的FileMap对象)并执行相应的操作,然后等待状态再次发生变化。所以我使用了一个命名的事件对象来做同步工作。所有应用程序都在等待此事件被发出信号,并且服务应用程序将设置此事件以在该状态更改时被发出信号。我需要保证当状态改变时,每个等待的申请都会被释放并且只被释放一次!这两种方法我都试过了方法一创建手动重置事件;当状态改变时,先调用SetEvent,然后立即调用ResetEvent。方法二创建手动重置事件;当状态改变时,调用PulseEv

python - 如何让 IDLE 接受 Unicode 字符的粘贴?

当我在IDLE中交互式工作时,我常常想将Unicode字符串粘贴到IDLE窗口中。它似乎粘贴正确,但立即生成错误。在输出中显示相同的字符没有问题。>>>c=u'ĉ'Unsupportedcharactersininput>>>printu'\u0109'ĉ我怀疑输入窗口和大多数Windows程序一样,在内部使用UTF-16,并且可以毫无问题地处理完整的Unicode集;问题是IDLE坚持将所有输入强制转换为默认的mbcs代码页,不在该页中的任何内容都会被拒绝。有什么方法可以配置或哄骗IDLE接受完整的Unicode字符集作为输入吗?Python3.2可以更好地处理这个问题,并且可以毫不

c++ - 来自 D3D 显示适配器 ID 的描述性监视器名称

正如问题所暗示的,我试图提取一个描述性的监视器名称以匹配显示适配器名称。下面的代码给了我一个像\.\DISPLAY1这样的设备ID,这是可以理解的,但不是我要找的。//Getname.D3DADAPTER_IDENTIFIER9d3dID;d3d9.Get().GetAdapterIdentifier(iAdapter,0,&d3dID);dispAd.name=d3dID.Description;//AddmonitorIDtodisplayadaptername.FIX_ME//Nothappywiththisyet!HMONITORhMonitor=d3d9.Get().GetA

windows - 为什么在Win7 64bit下 'ntQuerySystemInformation'无法获取大于65535的进程id?

我使用“ntQuerySystemInformation”获取所有句柄信息,例如:NtQuerySystemInformation(SystemHandleInformation,pHandleInfor,ulSize,NULL);//SystemHandleInformation=16pHandleInfor的结构是:typedefstruct_SYSTEM_HANDLE_INFORMATION{ULONGProcessId;UCHARObjectTypeNumber;UCHARFlags;USHORTHandle;PVOIDObject;ACCESS_MASKGrantedAcce

windows - 如何生成字符串类型ID的资源条目?

我有一个包含以下条目的.rc文件:01111my_res{"string1"}01113my_res{"string2"}01119my_res{"string3"}当我用rc.exe编译这个.rc文件时,资源条目ID变为1111,1113和1119分别。显然,资源编译器将ID视为数字。我的第一印象是.res文件不能将数字存储为字符串类型。但是当使用资源编辑器(例如:XNResourceEditor.exe将资源ID1111更改为01111并存储为01111时,这表明资源ID可能存储为字符串类型。有没有办法将数字资源id编译为字符串类型? 最佳答案

c++ - 当程序可见或最小化时进程 ID 发生变化

这个问题在这里已经有了答案:NameofprocessforactivewindowinWindows8/10(4个答案)关闭5年前。我正在尝试获取程序的进程ID(PID),但由于某些奇怪的原因,PID发生了变化。当目标程序(Alarms&Clock)可见时,它给了我错误的PID,而将程序最小化给了我正确的PID。我猜测最小化目标程序暂停它的进程,从而允许读取它。但是,即使进程正在运行,简单地读取PID也不应成为限制。有人知道我做错了什么吗?目前尝试过的方法:以管理模式运行为64位编译为32位编译这是描述问题的一段有效的、简洁的代码:#include#include#includein

windows - Windows 上的 "System"和 "System Idle Process"PID 是否常量?

在我看过的几个WindowsXP系统上,“系统空闲进程”的PID始终为0,而“系统”进程的PID始终为4。在枚举进程的Windows程序中,是否安全通过这些PID识别这些进程,或者它们在某些情况下会有所不同吗? 最佳答案 我有假定这些PID是静态的生产代码,它可以在XP、Vista和Win7上运行。但不确定它是否是官方支持的方法!另外两种解决问题的方法:按升序对事件PID列表进行排序-SystemIdle和Systemprocesses应该是前两个。检查给定进程的父PID-SystemIdle和System进程的父PID均为0。

C++ 从线程 ID 列表中查找 GUI 线程

我正在用C++构建一个应用程序,它使用WindowsHook来控制第三方程序。我正在制作的程序是一个教程程序,用于展示如何使用这些第三方程序。我可以找到我想要挂接的第三方程序的进程ID,然后我可以查询这个进程ID以找到一个线程ID列表,用作WindowsAPI函数SetWindowsHookEx的参数。但是,我担心从正在运行的进程的线程ID列表中,我会挂接到一个可能随时结束的线程。理想情况下,我想连接到运行主gui的线程,这很可能是最长生命的线程之一(即使它不是最长生命的线程,教程程序也被设计为与GUI一起工作所以它仍然是理想的)。如果第三方应用程序有多个图形用户界面,那么我想找到主图

c++ - TerminateProcess 不适用于已验证的进程 ID

我正在开发应该终止具有给定名称的进程的应用程序。我使用的操作系统是Windows7。问题是,对于任务管理器中列出的所有具有非空白用户名字段的进程,它工作正常。但是,当一个进程的用户名为空时,即使任务管理器也无法将其终止。谁能告诉我为什么有些进程没有用户名。在我的例子中,它是csrss.exewinlogon.exe,不幸的是我想杀死一个旧应用程序。我检查的所有其他进程都有正确的用户名。有什么方法可以将用户名添加到现有流程吗?任何人都可以推荐我更好的解决方案来杀死应用程序而不是终止进程()? 最佳答案 无法终止这些进程,因为您没有这样