Project1
标题:
api声明的位置(说明)
[打印本页]
作者:
sizz123
时间:
2007-7-11 07:31
标题:
api声明的位置(说明)
主站上的"用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后面,程序就判断错误
-----------------------
这一点也许是脚本写做人的忽略,特此说明 [LINE]1,#dddddd[/LINE]
本贴由论坛斑竹灼眼的夏娜结贴,如楼主认为问题未解决,请重新将此贴编辑为“有事请教”,并回帖叙述疑点即可~ ^-^
作者:
sizz123
时间:
2007-7-11 07:31
标题:
api声明的位置(说明)
主站上的"用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后面,程序就判断错误
-----------------------
这一点也许是脚本写做人的忽略,特此说明 [LINE]1,#dddddd[/LINE]
本贴由论坛斑竹灼眼的夏娜结贴,如楼主认为问题未解决,请重新将此贴编辑为“有事请教”,并回帖叙述疑点即可~ ^-^
作者:
雷欧纳德
时间:
2007-7-11 16:10
{/fd}怎么可能出错...咳... = =
出错只可能是因为 在调用ss方法的时候ShellExecute还未定义,如果已经定义了则不会出错了,不管你在什么时候声明的,当然作用域内调用。。=v=b
作者:
sizz123
时间:
2007-7-11 17:27
"ShellExecute还未定义"
这话应该如何理解啊?把它定义成数据类型?不是已经定义了吗?
作者:
雷欧纳德
时间:
2007-7-11 17:30
class Good
def ss
ShellExecute.call(0,"","notepad.exe","","",1)
end
ShellExecute = Win32API.new("shell32", "ShellExecute",'lppppl', 'l')
end
Good.new.ss 这样会出错么== ??
作者:
sizz123
时间:
2007-7-11 17:45
没有错误,非常感谢,原来可以在后面生命
不过写成
def ss
ShellExecute = Win32API.new("shell32", "ShellExecute",'lppppl', 'l')
ShellExecute.call(0,"","notepad.exe","","",1)
end
是不可行的-----感觉自己在说废话
作者:
gpra8764
时间:
2007-7-15 03:37
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1