wm5/wm6 ppc 模拟器环境下,写了一个测试用的abc.dll,在dllmain函数中会MessageBox一个窗口.
然后按照msdn里的介绍,
HKEY_LOCAL_MACHINE\SYSTEM\KERNEL
"InjectDLL" = REG_MULTI_SZ : "MyDLL1.DLL","MyDLL2.DLL", ...
添加了该值InjectDll = \abc.dll。然后启动一个进程,但是没有弹出窗口来。即使重起机器,也没有任何窗口弹出。用remote process看,新进程里也确实没有加载abc.dll。
我反复测试过几种情况,abc.dll放在根目录下,也曾经放在\windows目录下过,注册表里带了完整路径,都没有用。
我的模拟器,一开始是没有 HKEY_LOCAL_MACHINE\SYSTEM\KERNEL 的,KERNEL是我自己加的。
我比较怀疑是注册表写的格式问题,对REG_MULTI_SZ的格式不是太清楚,对msdn的解释也不是太有把握。
哪位朋友能够告诉我详细的添加这个注册表项的过程、格式和注意事项?
我记得好象说sp版本的需要数字签名,ppc版本的没有人提到过. 'trust必须=2' 是什么意思? 如何实现?
老黄历都翻出来了?MSDN上并没有说这个方法对WINCE系统有效吧,我也没测试过。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"="c:\\Project2.dll"
"DeviceNotSelectedTimeout"="15"
"GDIProcessHandleQuota"=dword:00002710
"Spooler"="yes"
"swapdisk"=""
"TransmissionRetryTimeout"="90"
"USERProcessHandleQuota"=dword:00002710
"DesktopHeapLogging"=dword:00000001