首页
社区
课程
招聘
[求助]delphi 没有关于CreateProcessInternalW 函数声明
发表于: 2009-2-8 02:04 11398

[求助]delphi 没有关于CreateProcessInternalW 函数声明

2009-2-8 02:04
11398
小弟看到CreateProcessInternalW VC的原形,翻译出来出错

BOOL
STDCALL
CreateProcessInternalW(HANDLE hToken,
                        LPCWSTR lpApplicationName,
                        LPWSTR lpCommandLine,
                        LPSECURITY_ATTRIBUTES lpProcessAttributes,
                        LPSECURITY_ATTRIBUTES lpThreadAttributes,
                        BOOL bInheritHandles,
                        DWORD dwCreationFlags,
                        LPVOID lpEnvironment,
                        LPCWSTR lpCurrentDirectory,
                        LPSTARTUPINFOW lpStartupInfo,
                        LPPROCESS_INFORMATION lpProcessInformation,
                        PHANDLE hNewToken)

现在无法解决,请大侠帮小弟翻译成delphi的!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
内联汇编怎么样
2009-2-8 02:12
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
3
_SECURITY_ATTRIBUTES = packed record
    nLength:LongWord;
    lpSecurityDescriptor:Pointer;
    bInheritHandle:BOOL;
  end;
  TSecurityAttributes = _SECURITY_ATTRIBUTES;
  PSecurityAttributes = ^TSecurityAttributes;

  _STARTUPINFO = packed record
    cb:LongWord;
    lpReserved,lpDesktop,lpTitle:pChar;
    dwX,dwY,dwXSize,dwYSize,dwXCountChars,dwYCountChars,dwFillAttribute,dwFlags:LongWord;
    wShowWindow,cbReserved2:Word;
    lpReserved2:pByte;
    hStdInput,hStdOutput,hStdError:THandle;
  end;
  TStartupInfo = _STARTUPINFO;
  pStartupInfo = ^_STARTUPINFO;

  _PROCESS_INFORMATION = packed record
    hProcess,hThread:THandle;
    dwProcessId,dwThreadId:LongWord;
  end;
  TProcessInformation = _PROCESS_INFORMATION;
  PProcessInformation = ^_PROCESS_INFORMATION;

  function CreateProcessInternal(hToken:THandle;
                                 lpApplicationName,lpCommandLine:pWideChar;
                                 lpProcessAttributes,lpThreadAttributes:PSecurityAttributes;
                                 bInheritHandles:BOOL;
                                 dwCreationFlags:LongWord;
                                 lpEnvironment:Pointer;
                                 lpCurrentDirectory:pWideChar;
                                 lpStartupInfo:pStartupInfo;
                                 lpProcessInformation:PProcessInformation;
                                 hNewToken:PHandle):BOOL; stdcall;
  function CreateProcessInternal; external 'kernel32.dll' name 'CreateProcessInternalW';
2009-2-8 10:56
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
谢谢斑竹,斑竹这是写转换VC的还是你自己的单元,学习中。。
2009-2-8 11:55
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
5
从你给的函数中转换过来的,一些结构则是从MSDN中转换过来的。
2009-2-8 12:00
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
CreateProcessInternalW 这个参数与CreateProcessInternal参数是不是一样的?
2009-2-8 12:02
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
7
//我定义是CreateProcessInternal函数其实就是CreateProcessInternalW函数,并不是两个函数啊。

function CreateProcessInternal; external 'kernel32.dll' name 'CreateProcessInternalW';
2009-2-8 12:09
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
谢谢斑竹了!
2009-2-8 13:15
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
还有问题,我ring3 hook CreateProcessW CreateProcessInternal 还是不能拦截

winexec('c:\windows\system32\cmd.exe',1);

不知道是什么原因!
2009-2-8 13:31
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
10
对这方面没有实践过,不太清楚。
2009-2-8 13:45
0
雪    币: 232
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
试过 CreateProcessInternalA 了吗?
只勾了Unicode的W有时不一定奏效,Windows中很多都是ANSI的。
2009-2-8 15:09
0
游客
登录 | 注册 方可回帖
返回
//