这个语句是否存在问题,为何不能正常写入文本呢?
本帖最后由 木头人 于 2010-11-16 17:13 编辑$TForm3 = GUICreate("注意!!!", 300, 130, -1, -1, BitOR($WS_SYSMENU, $WS_CAPTION, $WS_BORDER), 0, $XForm1)
If @OSVersion = "WIN_2003" Or @OSVersion = "WIN_XP" Or @OSVersion = "WIN_2000" Then
$CKFIXMBR = GUICtrlCreateCheckbox("自动修复MBR,解除MBR病毒如:“鬼影”", 12, 64, 288, 17)
EndIf
If GUICtrlRead($CKFIXMBR) = 1 Then
_FileWriteToLine(@ScriptDir&"\abc.bat", 1, "fdisk /mbr", 1)
Endif
测试了半天 ,一直没能搞定,麻烦哪个同学帮我写一下,谢谢
要实现的如下:
创建一个窗体。
一个单选框。
当单选 框选 中时,写入fdisk /mbr至当前目录下的a.bat文本中的第一行。
如果未选中,则放弃操作。
非常感谢。 代码不全?还是结构存在问题?
很明显判断语句 If 没有结束语 只提取了主要的部份,没有全文贴出,由于涉及到一些隐私问题,不方便全贴出。
ENDIF没有复制进去。
只想知道这个语句有没有问题。 文件必须存在,并且存在所需要写的行,才能成功 文件及文本行都存在,但是就是不行。。。 "..... a.bat文本中的第一行"?
不是要写abc.bat? 回复 6# netegg
举例的,写哪个都可以。 回复 7# 木头人
没有 FileOpen 语句吧。。。。。 Opt('GUIOnEventMode', 1)
Local $File = @ScriptDir & '\abc.bat.txt'
GUICreate('')
GUISetOnEvent(-3, '_Exit')
Local $CKFIXMBR = GUICtrlCreateCheckbox('自动修复MBR,解除MBR病毒如:“鬼影”', 10, 50)
GUICtrlSetOnEvent(-1, '_CK')
GUISetState()
While 1
Sleep(100)
WEnd
Func _CK()
Local $str = FileRead($File)
If GUICtrlRead($CKFIXMBR) = 1 Then
If StringRegExp($str, '^\s*fdisk /mbr') Then Return
$FO = FileOpen($File, 2)
FileWrite($FO, 'fdisk /mbr' & @CRLF & $str)
FileClose($File)
Else
If Not StringRegExp($str, '^\s*fdisk /mbr') Then Return
$FO = FileOpen($File, 2)
$str = StringRegExpReplace($str, '^\s*fdisk /mbr\V*\s*', '')
FileWrite($FO, $str)
FileClose($File)
EndIf
EndFunc ;==>_CK
Func _Exit()
Exit
EndFunc ;==>_Exit 回复 1# 木头人
If GUICtrlRead($CKFIXMBR) = 1 似乎不对
GUICtrlRead($CKFIXMBR) =$GUI_CHECKED 如何。。。
afan 发表于 2010-11-16 18:48 http://www.autoitx.com/images/common/back.gif
为何 GUICtrlRead($CKFIXMBR) = 1 与 GUICtrlRead($CKFIXMBR) = $GUI_CHECKED
同样有效果,只是 GUICtrlRead($CKFIXMBR) = $GUI_CHECKED 要加
#include <GUIConstantsEx.au3> 回复 11# 131738
$GUI_CHECKED 是个常量,其值就等于 1 呀~
在GUIConstantsEx.au3中有定义:
Global Const $GUI_CHECKED = 1
Global Const $GUI_UNCHECKED = 4 回复 11# 131738 老兄呀,这图中的解释误人不浅……………………
回复 13# lchl0588
那倒也不是
如果是不这么用
而是用
if bitor(guictrlread($check), $gui_check) then
就对了 本帖最后由 lchl0588 于 2010-11-16 22:03 编辑
回复 14# netegg
http://www.autoitx.com/forum.php?mod=redirect&goto=findpost&ptid=19737&pid=233514&fromuid=7648431
不过话说回来“GUICtrlSetState ”这个函数来判断的话,有点............
页:
[1]
2