查看: 2966|回复: 6

api声明的位置(说明)

  [复制链接]
梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
发表于 2007-7-11 07:31:08 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
主站上的"用rm运行其他程序"的脚本,还有早些时候的"rm连接指定网站"的脚本,说法并不是很对.----"把这两句话放在任何地方都可以."是错误的.
这里要说明的是:"声明和调用,并不是一起的.应该把声明写在脚本第一排,或是begin的后面,第一时间就声明."
--------------------------------------------------
哦,再简单说明一下
   ShellExecute = Win32API.new("shell32", "ShellExecute",'lppppl', 'l')
   ShellExecute.call(0,"","notepad.exe","","",1)
   放在一个空白的脚本中是可以运行的,因为空白脚本第一时间就声明了定义,然后调用,所以成功
   由于我们要有目的的调用程序,所以要加个方法进行控制
   正确的方法是
ShellExecute = Win32API.new("shell32", "ShellExecute",'lppppl', 'l')
class Good
def ss
ShellExecute.call(0,"","notepad.exe","","",1)
end
end
注意声明的位置,是在第一时间(或是begin后),然后写类,写方法
如果把那句声明的话写在def ss后面,程序就判断错误
-----------------------
这一点也许是脚本写做人的忽略,特此说明
本贴由论坛斑竹灼眼的夏娜结贴,如楼主认为问题未解决,请重新将此贴编辑为“有事请教”,并回帖叙述疑点即可~ ^-^
梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
发表于 2007-7-11 07:31:08 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
主站上的"用rm运行其他程序"的脚本,还有早些时候的"rm连接指定网站"的脚本,说法并不是很对.----"把这两句话放在任何地方都可以."是错误的.
这里要说明的是:"声明和调用,并不是一起的.应该把声明写在脚本第一排,或是begin的后面,第一时间就声明."
--------------------------------------------------
哦,再简单说明一下
   ShellExecute = Win32API.new("shell32", "ShellExecute",'lppppl', 'l')
   ShellExecute.call(0,"","notepad.exe","","",1)
   放在一个空白的脚本中是可以运行的,因为空白脚本第一时间就声明了定义,然后调用,所以成功
   由于我们要有目的的调用程序,所以要加个方法进行控制
   正确的方法是
ShellExecute = Win32API.new("shell32", "ShellExecute",'lppppl', 'l')
class Good
def ss
ShellExecute.call(0,"","notepad.exe","","",1)
end
end
注意声明的位置,是在第一时间(或是begin后),然后写类,写方法
如果把那句声明的话写在def ss后面,程序就判断错误
-----------------------
这一点也许是脚本写做人的忽略,特此说明
本贴由论坛斑竹灼眼的夏娜结贴,如楼主认为问题未解决,请重新将此贴编辑为“有事请教”,并回帖叙述疑点即可~ ^-^

有事烧纸

梦石
0
星屑
154
在线时间
509 小时
注册时间
2005-10-22
回帖
6429

贵宾VX城市地图大赛冠军第1届RMTV比赛冠军第1届TG大赛冠军

发表于 2007-7-11 16:10:55 | 显示全部楼层
{/fd}怎么可能出错...咳... = =


出错只可能是因为 在调用ss方法的时候ShellExecute还未定义,如果已经定义了则不会出错了,不管你在什么时候声明的,当然作用域内调用。。=v=b
神隐中,偶尔诈尸
回复

使用道具 举报

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
 楼主| 发表于 2007-7-11 17:27:29 | 显示全部楼层
"ShellExecute还未定义"
这话应该如何理解啊?把它定义成数据类型?不是已经定义了吗?

回复

使用道具 举报

有事烧纸

梦石
0
星屑
154
在线时间
509 小时
注册时间
2005-10-22
回帖
6429

贵宾VX城市地图大赛冠军第1届RMTV比赛冠军第1届TG大赛冠军

发表于 2007-7-11 17:30:48 | 显示全部楼层
class Good
  def ss
    ShellExecute.call(0,"","notepad.exe","","",1)
  end
  ShellExecute = Win32API.new("shell32", "ShellExecute",'lppppl', 'l')
end

Good.new.ss 这样会出错么== ??
神隐中,偶尔诈尸
回复

使用道具 举报

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
 楼主| 发表于 2007-7-11 17:45:18 | 显示全部楼层
没有错误,非常感谢,原来可以在后面生命

不过写成
def ss
ShellExecute = Win32API.new("shell32", "ShellExecute",'lppppl', 'l')
ShellExecute.call(0,"","notepad.exe","","",1)
end
是不可行的-----感觉自己在说废话
回复

使用道具 举报

头像被屏蔽

苹果梨

梦石
0
星屑
43
在线时间
6 小时
注册时间
2007-2-14
回帖
674
发表于 2007-7-15 03:37:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部