下沙论坛

标题: 突然想问一个问题 [打印本页]

作者: kevins    时间: 2005-5-1 15:37
标题: 突然想问一个问题
QQ珊瑚虫外挂是用什么写的?为什么我用language2000和PEidentifer都查不出,不会是用汇编写的吧!!!
作者: yzhlinux    时间: 2005-5-1 16:13
win32汇编
作者: 游侠无极限    时间: 2005-5-1 16:33

发现他的一个提示信息和别的不太一样,呵呵

this program must be run under Win32

而不是

This program cannot be run in DOS mode


作者: kevins    时间: 2005-5-1 17:24

RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As Any, ByVal cbData As Long) As Long

呵呵,这里居然还有人的,那我想再多问一个问题,上面是修改注册表的API函数,

如我想修改RegSetValueEx hKey, "TcpNumConnections", 0, REG_DWORD, n, 4

到到底n是用什么进制的数。我实验中觉得好像是Ascii码!!


作者: 游侠无极限    时间: 2005-5-1 18:30
n 用 Long 类型,
, ^+ i" ~& t7 o) G1 _. s, X6 ~
[此贴子已经被作者于2005-5-1 18:39:25编辑过]

. p' O) c" Y, X# n5 ^1 {* H& m% W
作者: kevins    时间: 2005-5-1 19:16
上面代码我应该怎么改啊???
作者: 游侠无极限    时间: 2005-5-1 21:39

dim n as Long

n = xxx

RegSetValueEx hKey, "TcpNumConnections", 0, REG_DWORD, n, 4

我是看网上资料的,由于现在没有VB6,无法测试……


作者: kevins    时间: 2005-5-2 14:49

RegSetValueEx hKey, "TcpNumConnections", 0, REG_DWORD, "100", 4

我直接为它赋100的值,为什么我查看时却是很大的值???


作者: 游侠无极限    时间: 2005-5-2 16:20

你为什么要加上引号?

"100" 是字符串

100 是数字


作者: kevins    时间: 2005-5-2 18:41
如果不加引号就会出“类型不匹配”的提示!!
作者: 游侠无极限    时间: 2005-5-2 18:45

用变量呢?

dim x as long

x = 100

RegSetValueEx hKey, "TcpNumConnections", 0, REG_DWORD, x, 4

实在不行把声明中的 As Any 改为 As Long


作者: kevins    时间: 2005-5-2 19:52

但是如果我想别人输入一个数为它的值,那不是很麻烦吗???

如我用一个Test接收输入的数,我是不是应该这样写啊:

dim x as long

x=val(Text1.text)

RegSetValueEx hKey, "TcpNumConnections", 0, REG_DWORD, x, 4

但这样写注册表根本不会去创建TcpNumConnections这个键!!


作者: kevins    时间: 2005-5-2 19:58

还有,改any为long,和

dim x as long

x = 100

RegSetValueEx hKey, "TcpNumConnections", 0, REG_DWORD, x, 4

这样写它也不会创建TcpNumConnections这个键!!为什么它不像REG_SZ那么容易写啊!!


作者: 游侠无极限    时间: 2005-5-2 20:36

手头没有VB,我现在也帮不了你了

& d! C5 K( C o+ c 声明还是用 As Any 的( B+ k7 e( {7 m- w% j" d

RegSetValueEx hKey, "TcpNumConnections", 0, REG_DWORD, byval x, 4

1 O. i4 a& n& |

看看这个吧

7 e) U! `) y9 w
[此贴子已经被作者于2005-5-2 20:38:20编辑过]
( p7 z8 ?# H; H# @
作者: 游侠无极限    时间: 2005-5-2 20:39
以下是引用kevins在2005-5-2 19:52:56的发言:' ~! j: L0 l, r8 X5 X

但是如果我想别人输入一个数为它的值,那不是很麻烦吗???

& H% @4 c- X: D: N. K

如我用一个Test接收输入的数,我是不是应该这样写啊:

% }6 ?) ]/ D" C8 r( ]6 t

dim x as long

. h0 C# l" p( P, f) H y0 f

x=val(Text1.text)

. H9 f: e% J) o

RegSetValueEx hKey, "TcpNumConnections", 0, REG_DWORD, x, 4

5 ^& f/ n7 t ~& z, i @# {- m

但这样写注册表根本不会去创建TcpNumConnections这个键!!

% _( U& \, H h! a- [6 R. e7 O+ u i4 a# {! o7 l& L 5 V0 N" `5 @. G2 N) E9 F) s数字 字符串 转换在这里是必须的,你不可能避免; D* E. c. A( d8 y/ J 还有检查API的返回值会是一个好习惯3 i1 s7 V) R/ f; ^/ ]
[此贴子已经被作者于2005-5-2 20:40:46编辑过]
# p8 @8 C+ j6 U' l) N) s3 f$ K. F
作者: BCGSoftBug    时间: 2005-5-17 12:34

游侠

我建议你仔细看看这个api的定义

1 声明没错

2 使用方法的一种

dim x as long

x=val(Text1.text)

RegSetValueEx hKey, "TcpNumConnections", 0, REG_DWORD, varptr(x), 4

传送指针(就是lpData)

在调用api时,如果传字符串变量,都是船指针,byval只是在复制以后传送副本的指针


作者: 游侠无极限    时间: 2005-5-23 20:26

…… 问题不是我出的

我还是喜欢直接由指针类型的语言






欢迎光临 下沙论坛 (http://bbs.xiasha.cn/) Powered by Discuz! X3.3