12 2013 档案
摘要:接上一篇这次是验证Open*(本文使用OpenMutex函数)的命名对象在继承中安全属性的传递 SECURITY_ATTRIBUTES sa; //设置句柄安全性 sa.nLength = sizeof(sa); sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = TRUE; HANDLE hMutex1 = CreateMutex(&sa, FALSE, TEXT("JeffObj")); //创建对象句柄1 HANDLE hMutex2 = OpenMutex(MUTEX_ALL_ACCESS, FAL...
阅读全文
摘要:windows核心编程 第5版 48页 下半部写道进程B调用CreateMutex时,它会向函数传递安全属性信息和第二参数。如果已经存在一个指定名称的对象,这些对象就会被忽略于是我通过代码来验证这句话注意 第47页这个函数调用创建一个新的互斥量内核对象,并将其命名为“JeffMutex”。注意,在进程A的句柄(表)中,hMutexProcessA并不是一个可继承的句柄-但是通过为对象命名来实现共享时,是否可以继承并非一个必要条件。 HANDLE hMutex1 = CreateMutex(NULL, FALSE, TEXT("JeffObj")); //创建命名对象句柄1
阅读全文
摘要:求出所有100以下整数与一位小数相乘等于相加的浮点数这个有Bug浮点数计算时精度会出现误差除非使用非常精确的类型或限制浮点的位数比如#include int main(){ using std::cout; using std::endl; unsigned int a = 0; double b; double temp; while (a <= 100) { b = 0; while (b < 100) { temp = 0; while (temp < 1) ...
阅读全文
摘要:在一个技术QQ群里围观有人求怎么样隐藏进程名另外一个朋友告诉他标题栏为空可以隐藏然后又有一人问如果进程名为空呢?没有人回答经过尝试,发现标题栏为空确实可以隐藏程序在windows应用程序管理器里显示但是进程名为空,百思不得其姐现在感觉不能自定义命名进程,因为进程是执行的程序,而执行的程序一般以.exe为后缀名,我的初始想法是设置空进程名,但是现在感觉不可能师傅:都是不及格的方案~应该走内核~其它资料:http://joychou.sinaapp.com/index.php/archives/82/
阅读全文