API调用的问题!

kingdomzhf 2002-07-07 08:42:21
type
TRegisterservice=function(dwProcessId:DWORD;dwType:DWORD):DWORD;
var
THandle dllinstance;
registerservice:TRegisterservice;

dllinstance:=LoadLibrary('c:\winnt\system32\KERNEL32.DLL');
if @dllinstance<>nil then
begin
(dllinstance,'RegisterServiceProcess');
@registerservice:=GetProcAddress (dllinstance,'RegisterServiceProcess');
if @registerservice=nil then
begin
showmessage('err');
exit;
end;
registerservice(GetCurrentProcessId(),1);
end;
为什么总是执行了showmessage('err');这一句
...全文
110 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dext 2002-07-08
  • 打赏
  • 举报
回复
shangshang(大雪有痕) 有理!
Kingron 2002-07-08
  • 打赏
  • 举报
回复
注意:
LoadLibrary不需要带路径的,只要文件名即可,多此一举!
而且,RegisterServiceProcess只能在Win9x下使用。
Kingron 2002-07-08
  • 打赏
  • 举报
回复
注意:
LoadLibrary不需要带路径的,只要文件名即可,多此一举!
而且,RegisterServiceProcess只能在Win9x下使用。
shangshang 2002-07-08
  • 打赏
  • 举报
回复
这个问题我去年都已经得到求证。
2000和nt下都没有这个函数。
如果想隐藏进程,请查阅别的帖子。
如注入线程,服务等方法。
bcb_fans 2002-07-08
  • 打赏
  • 举报
回复
我实在想不通你的VC代码怎么会运行成功???

下面是我的类似代码,在98下显示"OK",在2000下显示"Failed"

//在任务管理器中注销。
DWORD (*RegisterServiceProcess)(DWORD,DWORD);

RegisterServiceProcess = (DWORD(*)(DWORD,DWORD))GetProcAddress(
GetModuleHandle("Kernel32.dll"),"RegisterServiceProcess");
if(RegisterServiceProcess != NULL)
{
MessageBox(this->Handle,"OK",NULL,MB_OK | MB_APPLMODAL | MB_ICONWARNING);
// RegisterServiceProcess(GetCurrentProcessId(),1);//RSP_SIMPLE_SERVICE);
}
else
{
MessageBox(this->Handle,"Failed",NULL,MB_OK | MB_APPLMODAL | MB_ICONWARNING);
}
kingdomzhf 2002-07-08
  • 打赏
  • 举报
回复
typedef DWORD(CALLBACK * LPFNDLLFUNC1)(DWORD,DWORD);
HINSTANCE hKeynellib;
LPFUDLLFUNC1 lpfndllfunc1;

hKernellib=loadLibrary("kernel32.dll");
if(hKeynellib)
{
lpfndllfunc1=(LPFNDLLFUNC1)GetProcAddress (hKernellib,"RegisterServiceProcess");
if(lpfndllfunc1)
{
lpfndlllfunc1(GetCurrentProcessId(),1);
}
}
wavestudio 2002-07-08
  • 打赏
  • 举报
回复
将@registerservice:=GetProcAddress (dllinstance,'RegisterServiceProcess');
一句中的'RegisterServiceProcess'全改为小写试一下。
bcb_fans 2002-07-08
  • 打赏
  • 举报
回复
说真的,我对你的话"我在2000下用VC做了是不会出问题的!"抱有怀疑态度,不知能否把你的VC代码贴出来让我运行一下???
kingdomzhf 2002-07-08
  • 打赏
  • 举报
回复
谢谢各位
但执行还是原样
kingdomzhf 2002-07-08
  • 打赏
  • 举报
回复
以上热心人的回答好象都不行
在线等待
bcb_fans 2002-07-07
  • 打赏
  • 举报
回复
更改Kernel32.dll -->> User32.dll

因为我刚刚用VC自带的Depends.exe查看了Kernel32.dll文件,根本找不到RegisterServiceProcess函数。倒是在User32.dll中看到一个。
Cipherliu 2002-07-07
  • 打赏
  • 举报
回复
建议你还是静态隐式调用动态库试试。
kingdomzhf 2002-07-07
  • 打赏
  • 举报
回复
老兄
我在2000下用VC做了是不会出问题的!
bcb_fans 2002-07-07
  • 打赏
  • 举报
回复
2000下已经不支持这个函数,只在98下可用。
本次更新内容主要是BUG修复和功能改进,相隔4个月又发布了新版本,这次更新更像是例行公事,不过好在修复了很多BUG,另外需要说一下,EasyUI框架当中其实官方还隐藏了不少API没有开放出来,有些朋友建议我把整理一下,将一些好用的API及其用法也更新到中文API中,这里我想说的是,有些API或许是因为不稳定、尚有BUG、未完全实现或者是未经过完整测试的,所以官方并未公布出来,因此我也不建议大家大面积的去使用,这样会带来很多不稳定因素,甚至是致命的BUG,这也是我没有将这些API写入中文API文档的原因,所以有能力并且需要的人就自行去源代码中挖掘吧,我这里只同步官网的API(外加少许的变动或者不影响稳定性和安全性的新增内容)。 jQuery EasyUI 1.4.4版本更新内容: Bug(修复) filebox:修复“clear”和“reset”方法在IE9下无法正常工作的问题; messager:修复调用无参的$.messager.progress()方法之后,再调用$.messager.progress('close')方法时无法正常工作的问题; timespinner:修复在IE8中点击微调按钮时无法正确显示值的问题; window:修复在“onMove”事件中调用“options”方法时无法正常显示的问题; treegrid:修复“getLevel”方法无法接受为0的参数值的问题。 Improvement(改进) layout:改进后的“collapsedContent”、“expandMode”和“hideExpandTool”属性可以支持区域面板; layout:改进后的“hideCollapsedContent”属性可以在折叠面板上设置显示垂直标题栏; layout:新增“onCollapse”、“onExpand”、“onAdd”、“onRemove”事件; datagrid:在排序列的标题上显示↑↓图标; datagrid:新增“gotoPage”方法; propertygrid:新增“groups”方法,以允许获取所有数据租; messager:在显示长消息的的时候支持对消息进行自动滚动; tabs:“disabled”属性支持定义一个被禁用的选项卡面板; tabs:支持百分比大小。
最近比较忙,抽空做了最新版的API,本次的主要精力就是放在了pdf版的文档上面,看了上一版好多人反应说希望保留chm格式的,所以这一版继续提供chm格式的文档给大家了,现在的版本中包含了PDF、EXE和CHM 3种格式的文档,相信应该可以满足大家的需要了。此外我个人推荐大家使用PDF格式的文档,因为PDF是全新制作的,内容进行了完整校对,所以错漏的地方比EXE和CHM格式要少很多。其它废话就不多说了。更新内容自己看更新说明吧! jQuery EasyUI 1.5.1版本更新内容: Bug(修复) datagrid:修复在调用“updateRow”方法之后选中和复选行标志丢失的问题; tabs:修复在调用“update”方法的时候导致标签栏工具错位的问题; window:修复在窗体高度设置为“auto”时,当移动窗体后窗体会丢失的问题; messager:修复在现实进度消息窗口后立即关闭该窗口会导致程序发生异常的问题; form:修复“clear”方法无法清除combobox组件选择的下拉项的问题。 Improvement(改进) textbox:可以用“cls”属性添加自定义样式; numberbox:允许用户使用意大利货币格式; combo:添加“multivalue”属性,允许用户决定如何提交多个值; combobox:添加“reversed”属性; combobox:添加“onClick”事件; combogrid:添加“reversed”属性; treegrid:使用Shift键启用多值选择。 New Plugin(新组件) tagbox:允许用户在表单字段上添加标签。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧