我是新來的編碼,我發現在網上卻無法得到下面的代碼到數組保存到一個記事本,而不是在一個MsgBox,我一直在嘗試不同的代碼段。的AutoIt - 保存到記事本,而不是MSGBOX
如果有人可以請給我答案,並調整代碼,以便它保存到記事本,而不是顯示在msgbox中,我更好地學習從拆散工作代碼作爲應用程序更好地嘗試修改/修復損壞/錯誤碼。
我將不勝感激!上述
感謝 銅
Global $Array = _WinGetCtrlInfo(WinGetTitle(''))
Global $sOne = '[0][0] = ' & $Array[0][0] & @CR, $sTwo
For $iCC = 1 To $Array[0][0]
$sOne &= '[' & $iCC & '][0] = ' & $Array[$iCC][0] & @CR
$sTwo &= '[' & $iCC & '][1] = ' & $Array[$iCC][1] & @CR
Next
MsgBox(64, 'WinInfo', StringTrimRight($sOne, 1) & @CR & StringTrimRight($sTwo, 1))
Func _WinGetCtrlInfo($hWin)
If IsString($hWin) Then $hWin = WinGetHandle($hWin)
Local $sClassList = WinGetClassList($hWin), $iAdd, $aDLL, $sHold
Local $sSplitClass = StringSplit(StringTrimRight($sClassList, 1), @LF), $aReturn[1][2]
For $iCount = UBound($sSplitClass) - 1 To 1 Step - 1
Local $nCount = 0
While 1
$nCount += 1
If ControlGetHandle($hWin, '', $sSplitClass[$iCount] & $nCount) = '' Then ExitLoop
If Not StringInStr(Chr(1) & $sHold, Chr(1) & $sSplitClass[$iCount] & $nCount & Chr(1)) Then
$sHold &= $sSplitClass[$iCount] & $nCount & Chr(1)
$iAdd += 1
ReDim $aReturn[$iAdd][2]
$aReturn[$iAdd - 1][0] = $sSplitClass[$iCount] & $nCount
$aDLL = DllCall('User32.dll', 'int', 'GetDlgCtrlID', 'hwnd', _
ControlGetHandle($hWin, '', $sSplitClass[$iCount] & $nCount))
If @error = 0 Then
$aReturn[$iAdd - 1][1] = $aDLL[0]
Else
$aReturn[$iAdd - 1][1] = ''
EndIf
EndIf
WEnd
Next
$aReturn[0][0] = $iAdd - 1
Return $aReturn
EndFunc
當前的代碼工作正常,並會編controlNN名單但該軟件,我用它用了數百個不同controlNN的,所以它不適合入消息框,我在網上搜索並試圖調整它以保存在記事本中,但仍然存在問題。再次
感謝 銅
你真的應該嘗試從[AutoIt的求助]做教程(https://www.autoitscript.com/autoit3/docs/)第一......即使世界如何自動化的實例[記事本] (https://www.autoitscript.com/autoit3/docs/tutorials/notepad/notepad.htm)。你應該試着去'ClipPut(StringTrimRight($宋,1)@CR&StringTrimRight($ sTwo,1))'而不是使用MSGBOX,然後使用'發送( 「^ C」)'的記事本。 – Samoth
如果你已經有你的數組,你想保存它,爲什麼不使用_FileWriteFromArray? – Xenobiologist