1.较为简单的.exe程序可采用进程调用Process.Start("D:\\emr\\emras.exe",para);解析:参数1为.exe的存放路径,参数2为.exe的执行参数2.如果.exe程序中还有其他调用,则上述方法可能在运行过程中报错。这种情况下,可采用直接调用cmd的执行方式[DllImport("kernel32.dll")]publ..
分类:
Web程序 时间:
2014-11-27 18:39:38
阅读次数:
178
在程序执行中会遇到启动本软件的exe问,或者启用其它的exe文件,已达到执行某些操作的作用。下面是两种最常见的启动exe文件。1、调用系统dll使用其提供的方法。引用的dll,[csharp] view plaincopyprint?[DllImport("kernel32.dll")]public...
分类:
编程语言 时间:
2014-10-21 14:58:50
阅读次数:
274
function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord; stdcall; external ’KERNEL32.DLL’; {把当前进程变为一个系统服务,从而在任务列表中把程序隐藏起来}procedure TForm...
分类:
系统相关 时间:
2014-10-21 00:51:17
阅读次数:
212
DEP 的四种工作模式中,OptOut 和 AlwaysOn 下所有进程默认都开启 DEP 保护,这里如果一个程序自身需要从堆栈中取指令,则会发生错误。为了解决这个问题,MS 在 kernel32.dll 中提供了修改内存属性的 VirtualProtect() 函数,可以修改可执行属性。故一个新的...
分类:
其他好文 时间:
2014-10-21 00:48:37
阅读次数:
296
CALL DWord Ptr [] kernel32.WriteFile 将数据写入一个文件,也可将这个函数应用于对通信设备、管道、套接字以及邮槽的处理 CALL DWord Ptr [] ker...
分类:
其他好文 时间:
2014-10-18 16:43:39
阅读次数:
244
C#动态调用C++编写的DLL函数动态加载DLL需要使用Windows API函数:LoadLibrary、GetProcAddress以及FreeLibrary。我们可以使用DllImport在C#中使用这三个函数。[DllImport("Kernel32")]public static exte...
分类:
编程语言 时间:
2014-10-10 13:49:04
阅读次数:
255
这个动态连接库里面包含了很多WindowsAPI函数,如果你想使用这面的函数,就需要这么引入。举个例子:[DllImport("kernel32.dll")]private static extern void 函数名(参数,[参数]); 函数名就是一个属于kernel32.dll里的一个函数。完了...
分类:
其他好文 时间:
2014-10-09 15:34:53
阅读次数:
178
曾经,调试时跟进HeapAlloc,结果发现直接进入到ntdll的RtlAllocateHeap中,感到很有趣,就使用Dependency Walker查看kernel32.dll的导出函数,结果发现HeapAlloc的地址直接显示的就是NTDLL.RtlAllocateHeap。于是反汇编查看ke...
分类:
其他好文 时间:
2014-09-28 14:41:12
阅读次数:
862
某群有个人提出一个奇怪的问题,这段代码的循环不正常;MASMPlus 代码模板 - 控制台程序.386.model flat, stdcalloption casemap :noneinclude windows.incinclude user32.incinclude kernel32.incin...
这是由于GetProcessMemoryInfo在不同系统版本号不同导致的,官方说明如下:
Remarks
Starting with Windows 7 and Windows Server 2008 R2, Psapi.h establishes version numbers for the PSAPI functions. The PSAPI version number affect...
分类:
其他好文 时间:
2014-09-15 16:02:11
阅读次数:
1127