Leaderboard
Popular Content
Showing content with the highest reputation on 08/17/2018 in all areas
-
Here is a simple program that some of you might appreciate. It is a more full fleshed out version of something I worked on a while back as a proof of concept. I will just quote the information found in the Program Information dialog. Older Screenshot INItoSQL DB.zip 1.27 MB (205 downloads) INItoSQL DB v1.1.zip 1.27 MB (181 downloads) (see Post #3 for update details) INItoSQL DB v1.4.zip 1.27 MB (166 downloads) (see Post #4 for update details) INItoSQL DB v1.6.zip (see Post #7 for update details) BIG THANKS to ResNullius for huge speed improvement etc. Program requires the sqlite3.dll, not included, but easily enough obtained. I have also included the beginnings of a new UDF (SimpleSQL_UDF) I am working, which you can use with the included 'Check conversion.au3' file to check a resulting conversion ... just modify the values for a few variables to suit your situation. I've not yet gotten around to coding a testing/checking results script, so I recommend the following open source program, which I have been using for some time. It was here, but is now here at GitHub - DB Browser for SQLite2 points
-
Here is the bare bones of a UDF I have started work on. Mostly just a proof of concept at this stage, and still need to add some functions and dress the UDF up a bit ... to look like a UDF ... though it has my own distinct styling, especially as I have never really developed a UDF before now .... used plenty and modified plenty though. I've even invented my own UDF variable naming convention, which I am sure some of you will be aghast at. I work with what feels best for me, but others are free to adapt if they wish. The idea is to emulate the simplicity of INI files, but gain the benefits of SQL. Two scripts are provided. (1) The UDF, a work in progress - SimpleSQL_UDF.au3 (2) An example or testing script - UDF_Test.au3 Another first for me, is creating a 2D array from scratch, never done that before, that I can recall ... never had a need, and even for 1 dimension arrays, for a long time now, I have just used _StringSplit to create them. So I needed a bit of a refresher course, which my good buddy @TheDcoder assisted me with ... not without some angst I might add. LOL SimpleSQL_UDF.zip (12 downloads previously) (I have now completed all the functions I intended to. My next update will be a big improvement, bringing things more inline with my latest INItoSQL DB program changes.) Program requires the sqlite3.dll, not included, but easily enough obtained. Hopefully the usage is self-evident ... just change the Job number variable in the UDF_Test.au3 file to check the existing functions out. Enjoy! P.S. This is also related to a new program I have just finished and uploaded - INItoSQL DB2 points
-
Hi @rm4453 a bad idea might be to change the IE library.... ( I suggest not to do it ) , a better idea is to only clone the _IETableWriteToArray function and modify it by adding the progressbar and then use the modified function instead of the original one (in the modified function I marked with "; <-------- mod #" the lines I added): #include <Array.au3> #include <IE.au3> Local $oIE = _IECreate("https://en.wikipedia.org/wiki/List_of_North_American_settlements_by_year_of_foundation") Local $oTable = _IETableGetCollection($oIE, 1) Local $aTableData = _IETableWriteToArray_mod($oTable, True) _ArrayDisplay($aTableData) _IEQuit($oIE) ; #FUNCTION# ==================================================================================================================== ; Author ........: Dale Hohm ; modified ......: Chimp ; =============================================================================================================================== Func _IETableWriteToArray_mod(ByRef $oObject, $bTranspose = False) If Not IsObj($oObject) Then __IEConsoleWriteError("Error", "_IETableWriteToArray", "$_IESTATUS_InvalidDataType") Return SetError($_IESTATUS_InvalidDataType, 1, 0) EndIf ; If Not __IEIsObjType($oObject, "table") Then __IEConsoleWriteError("Error", "_IETableWriteToArray", "$_IESTATUS_InvalidObjectType") Return SetError($_IESTATUS_InvalidObjectType, 1, 0) EndIf ; Local $iCols = 0, $oTds, $iCol Local $oTrs = $oObject.rows For $oTr In $oTrs $oTds = $oTr.cells $iCol = 0 For $oTd In $oTds $iCol = $iCol + $oTd.colSpan Next If $iCol > $iCols Then $iCols = $iCol Next Local $iRows = $oTrs.length Local $aTableCells[$iCols][$iRows] Local $iRow = 0 Local $iPercent ; <-------- mod 1 ProgressOn("Progress Meter", "processing rows ", 0 & "/" & $iRows, -1, -1, 16) ; <-------- mod 2 For $oTr In $oTrs $oTds = $oTr.cells $iCol = 0 For $oTd In $oTds $aTableCells[$iCol][$iRow] = String($oTd.innerText) If @error Then ; Trap COM error, report and return __IEConsoleWriteError("Error", "_IETableWriteToArray", "$_IESTATUS_COMError", @error) Return SetError($_IESTATUS_ComError, @error, 0) EndIf $iCol = $iCol + $oTd.colSpan Next $iRow = $iRow + 1 $iPercent = Int($iRow / $iRows * 100) ; <-------- mod 3 ProgressSet($iPercent, $iRow & "/" & $iRows & @TAB & "(" & $iPercent & "%)") ; <-------- mod 4 Next If $bTranspose Then Local $iD1 = UBound($aTableCells, $UBOUND_ROWS), $iD2 = UBound($aTableCells, $UBOUND_COLUMNS), $aTmp[$iD2][$iD1] For $i = 0 To $iD2 - 1 For $j = 0 To $iD1 - 1 $aTmp[$i][$j] = $aTableCells[$j][$i] Next Next $aTableCells = $aTmp EndIf ProgressOff() ; <-------- mod 5 Return SetError($_IESTATUS_Success, 0, $aTableCells) EndFunc ;==>_IETableWriteToArray_mod2 points
-
Does this help? #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <GUIMenu.au3> #include <WinAPIShellEx.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() Global $cDummy Global $hList, $hMenu $hGUI = GUICreate("Disabled Menu Item Test", 500, 300) $cDummy = GUICtrlCreateDummy() $idList = GUICtrlCreateListView("Col1|Col2|Col3", 10, 10, 480, 280) $hList = GUICtrlGetHandle(-1) GUICtrlCreateListViewItem("Test1|Test2|Test3", $idList) GUISetState(@SW_SHOW, $hGUI) GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE _GDIPlus_Shutdown() ExitLoop Case $cDummy _ShowContext($idList) EndSwitch WEnd Func _ShowContext($hWnd) Local Enum $idTest1 = 1000, $idTest2 Local $sIconPath = @ProgramFilesDir & "\AutoIt3\Icons\au3.ico" $hMenu = _GUICtrlMenu_CreatePopup() _GUICtrlMenu_AddMenuItem($hMenu, "Test1" & @TAB & "Ctrl+1", $idTest1) _GUICtrlMenu_SetIcon($hMenu, 0, $sIconPath) _GUICtrlMenu_AddMenuItem($hMenu, "Test2" & @TAB & "Ctrl+2", $idTest2) Local $bDisabled = 1 If $bDisabled Then _GUICtrlMenu_SetIcon($hMenu, 1, $sIconPath, 0); <<<<<<< Any way to make this work with transparency? _GUICtrlMenu_SetItemDisabled($hMenu, 1) Else _GUICtrlMenu_SetIcon($hMenu, 1, $sIconPath) EndIf Local $idMsg = _GUICtrlMenu_TrackPopupMenu($hMenu, GUICtrlGetHandle($hWnd), -1, -1, 1, 1, 2) Switch $idMsg Case $idTest1 ConsoleWrite(">> Test1" & @CRLF) Case $idTest2 ConsoleWrite(">> Test2" & @CRLF) EndSwitch _GUICtrlMenu_DestroyMenu($hMenu) EndFunc Func _GUICtrlMenu_SetIcon($hWnd, $iIndex, $sIconPath, $iColor = -1) Local $hBMP_File_New = _GUICtrlMenu_CreateBitmap($sIconPath, 0, 16, 16, $iColor) Return _GUICtrlMenu_SetItemBmp($hWnd, $iIndex, $hBMP_File_New) EndFunc Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam, $lParam Local $iItem Local $tNMHDR = DllStructCreate($tagNMHDR, $lParam) Local $HwndFrom = DllStructGetData($tNMHDR, "HwndFrom") Local $iCode = DllStructGetData($tNMHDR, "Code") Switch $HwndFrom Case $hList Switch $iCode Case $NM_RCLICK $iItem = DllStructGetData(DllStructCreate($tagNMITEMACTIVATE, $lParam), "Index") If $iItem <> -1 Then GUICtrlSendToDummy($cDummy) EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ; #FUNCTION# ============================================================================================================ ; Name...................: _GUICtrlMenu_CreateBitmap ; Description .......: Extracts the icon from $sFile and converts it to a HBitmap format ; Syntax................: _GUICtrlMenu_CreateBitmap($sFile, $iIndex = 0, $iX = 16, $iY = 16) ; Parameters ......: $sFile - file name where the icon should be extracted from or an image should be loaded (*.dll, *.ico, *.exe, *.jpg, *.png, *.bmp, *.gif, *.tif) ; $iIndex - index of the icon from $sFile ; $iW - set the width of the extracted icon ; $iH - set the height of the extracted icon ; $iBgColor - set background color from _WinAPI_GetSysColor($COLOR_MENU) if $iBgColor = -1 ; Return values .: Success - handle to a HBITMAP ; Failure - Returns 0 and sets error to 1-7 ; Author ..............: UEZ ; Version .............: v0.71 Build 2018-08-17 beta ; Remarks ...........: Don't forget to use _WinAPI_DeleteObject($<handle to the HBITMAP>) when closing to to release the resources ; ======================================================================================================================= Func _GUICtrlMenu_CreateBitmap($sFile, $iIndex = 0, $iW = 16, $iH = 16, $iBgColor = -1) Local $hIcon, $Ret, $hBitmap, $hContext, $bBinary = False Local $aChk = _GDIPlus_ImageGetFlags($sFile) If Not @error Then $bBinary = True If FileExists($sFile) Or $bBinary Then Local $sExt = StringMid($sFile, StringLen($sFile) - 3) If $bBinary Then $sExt = "0815" Switch $sExt Case ".dll", ".exe", ".ico" Return _WinAPI_GetFileIcon($sFile, $iIndex, $iW, $iH, $iBgColor) Case ".jpg", ".png", ".bmp", ".gif", ".tif", "0815" Local $hImage If Not $bBinary Then $hImage = _GDIPlus_ImageLoadFromFile($sFile) If @error Then Return SetError(4, @extended, 0) Else $hImage = $sFile EndIf $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH) If @error Then Return SetError(5, @extended, 0) $hContext = _GDIPlus_ImageGetGraphicsContext($hBitmap) _GDIPlus_GraphicsSetInterpolationMode($hContext, $GDIP_INTERPOLATIONMODE_HIGHQUALITY) _GDIPlus_GraphicsDrawImageRect($hContext, $hImage, 0, 0, $iW, $iH) $hIcon = _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap) _GDIPlus_GraphicsDispose($hContext) _GDIPlus_BitmapDispose($hBitmap) _GDIPlus_BitmapDispose($hImage) If Not $hIcon Then Return SetError(6, 0, 0) Case Else Return SetError(7, 0, 0) EndSwitch Return $hIcon Else Return SetError(1, 0, 0) EndIf EndFunc ;==>_GUICtrlMenu_CreateBitmap Func _WinAPI_GetFileIcon($sFile, $iIndex, $iW, $iH, $iColor) Local $aRet, $hIcon, $hHBitmap Local $hDC, $hBackDC, $hBackSv $hIcon = _WinAPI_ShellExtractIcon($sFile, $iIndex, $iW, $iH) If @error Then Return SetError(6, @extended, 0) $hDC = _WinAPI_GetDC(0) $hBackDC = _WinAPI_CreateCompatibleDC($hDC) If $iColor = -1 Then $iColor = _WinAPI_GetSysColor($COLOR_MENU) $hHBitmap = _WinAPI_CreateSolidBitmap(0, $iColor, $iW, $iH) $hBackSv = _WinAPI_SelectObject($hBackDC, $hHBitmap) _WinAPI_DrawIconEx($hBackDC, 0, 0, $hIcon, $iW, $iH) _WinAPI_DestroyIcon($hIcon) _WinAPI_SelectObject($hBackDC, $hBackSv) _WinAPI_ReleaseDC(0, $hDC) _WinAPI_DeleteDC($hBackDC) Return $hHBitmap EndFunc ;==>_GUICtrlMenu_CreateBitmap1 point
-
Check for active sessions on server
FrancescoDiMuro reacted to rossy for a topic
Thank you so much, that's exactly what it was! When running the script, I didn't right click and run as administrator. For anyone else who may come across this thread, my final code for this was: #RequireAdmin #include <NetShare.au3> #include <Array.au3> Global $userinshare = _Net_Share_SessionEnum("SERVERHERE", "", "USERNAMEHERE") If IsArray($userinshare) Then MsgBox(-1, "", "User has active sessions on server.") Else MsgBox(-1, "", "User is not connected to server.") EndIf1 point -
My pleasure bud... along with the angst part This will definitley be useful, hopefully I will get a chance to use your UDF soon1 point
-
How to keep the address in a text file?
reida reacted to user4157124 for a topic
Install latest AutoIt (you are using a version which does not have that constant defined), or replace $STR_NOCOUNT by 2.1 point -
Use the event mode for your buttons and logic like this: #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) ;0=disabled, 1=OnEvent mode enabled Global $total = 1 Global $number Global $Start=0 $Form1 = GUICreate("Form1", 246, 133, -1, -1) GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") $Button1 = GUICtrlCreateButton("START", 8, 8, 177, 33) GUICtrlSetOnEvent(-1,"_Start") $Button2 = GUICtrlCreateButton("EXIT", 8, 48, 177, 33) GUICtrlSetOnEvent(-1,"_Exit") $Label1 = GUICtrlCreateLabel("NUMBER : " & $number, 8, 96, 178, 17) GUISetState(@SW_SHOW, $Form1) While sleep(50) if $Start Then For $i = 0 To $total $i = 0 Sleep(100) $number += 1 GUICtrlSetData($Label1, "NUMBER : " & $number) Next EndIf WEnd Func _START() $Start=1 EndFunc Func _EXIT() Exit EndFunc Jos1 point
-
Exit while loop active
Bindlex reacted to FrancescoDiMuro for a topic
You could set up a button of your keyboard which, once pressed, stops the script Something like: While Not _IsPressed("SomeKey") ; Code WEnd1 point -
How to keep the address in a text file?
reida reacted to FrancescoDiMuro for a topic
@reida Global $arrStringSplit = StringSplit("https://alpari.com/", "/", $STR_NOCOUNT) ConsoleWrite("Email address: " & $arrStringSplit[2] & @CRLF) Not tested, but it should be something like this.1 point -
Read Numbers at specific position in a file
Vikramjeet reacted to Malkey for a topic
Try this. #include <MsgBoxConstants.au3> ;$file = "C:\Users\Charlie\Desktop\t.txt" $file = @ScriptDir & "\T.txt" ; The following Reg Exp finds ; the last occurrence of a line (".*" is greedy by default) ; beginning with spaces (if they exist) ("^\h*") ; followed by 1 to 3 digits ("\d{1,3}"). ; Those 1 to 3 digits are captured ("(\d{1,3})"). ; See AutoIt help file for explanations of "(?s)" and "(?m)" PCRE patterns. Explains how "." and "^" are affected. $iNum = StringRegExp(FileRead($file), "(?sm).*^\h*(\d{1,3})", 1)[0] ConsoleWrite($iNum & @CRLF) WinActivate("My Application") Local $hWnd = WinWaitActive("My Application", "", 5) If $hWnd Then For $i = 1 To $iNum Send("INSTANCE " & $i & "{ENTER}") Sleep(1000) ;Waits Next Else MsgBox(0, "", '"My Application" window not found.') EndIf1 point -
Embed Cef sharp
ibrahem reacted to JLogan3o13 for a topic
@ibrahem this forum is dedicated to helping users write and improve their own scripts; it is not a place where you put in a request and someone barfs up code for you. If you are looking for someone to do it all for you, I would suggest looking at the site below where you can pay someone to do the work for you. https://www.rent-acoder.com/1 point -
_Service_UDF v4 : Build your own service with autoit code
argumentum reacted to spudw2k for a topic
This is untested (by me, but tested in post below), but seems a good direction if you don't want to wait for the next version. Const $SERVICE_CONFIG_DELAYED_AUTO_START_INFO = 3 Const $tagSERVICE_DELAYED_AUTO_START_INFO = "struct;bool fDelayedAutostart;endstruct" Func _SERVICE_CONFIG_DELAYED_AUTO_START($hService, $bDelayedAutoStart = True) Local $tSERVICE_DELAYED_AUTO_START_INFO = DllStructCreate($tagSERVICE_DELAYED_AUTO_START_INFO) ;Create DLLStruct from Const definition DllStructSetData($tSERVICE_DELAYED_AUTO_START_INFO, "fDelayedAutoStart", $bDelayedAutoStart) ;Set Struct Bool value to $bDelayedAutoStart parameter value $iRtn = _ChangeServiceConfig2($hService, $SERVICE_CONFIG_DELAYED_AUTO_START_INFO, DllStructGetPtr($tSERVICE_DELAYED_AUTO_START_INFO)) ;Call Advapi32 ChangeServiceConfig2 function $tSERVICE_DELAYED_AUTO_START_INFO = 0 ;Free struct resources Return $iRtn[0] ;Return _ChangeServiceConfig2 function result EndFunc Func _ChangeServiceConfig2($hService, $dwInfoLevel, $lpInfo) Return DllCall("Advapi32.dll", "int", "ChangeServiceConfig2", "HANDLE", $hService, "DWORD", $dwInfoLevel, "LONG_PTR", $lpInfo) EndFunc1 point -
[SOLVED] Allow selection just like in snipping tool
Rackaracka reacted to Melba23 for a topic
Mingre, Perhaps this: #include <GuiConstantsEx.au3> #include <WindowsConstants.au3> #Include <ScreenCapture.au3> #Include <Misc.au3> Global $iX1, $iY1, $iX2, $iY2, $aPos, $sMsg, $sBMP_Path ; Create GUI $hMain_GUI = GUICreate("Select Rectangle", 240, 50) $hRect_Button = GUICtrlCreateButton("Mark Area", 10, 10, 80, 30) $hCancel_Button = GUICtrlCreateButton("Cancel", 150, 10, 80, 30) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $hCancel_Button FileDelete(@ScriptDir & "\Rect.bmp") Exit Case $hRect_Button GUISetState(@SW_HIDE, $hMain_GUI) Mark_Rect() ; Capture selected area $sBMP_Path = @ScriptDir & "\Rect.bmp" _ScreenCapture_Capture($sBMP_Path, $iX1, $iY1, $iX2, $iY2, False) GUISetState(@SW_SHOW, $hMain_GUI) ; Display image $hBitmap_GUI = GUICreate("Selected Rectangle", $iX2 - $iX1 + 1, $iY2 - $iY1 + 1, 100, 100) $hPic = GUICtrlCreatePic(@ScriptDir & "\Rect.bmp", 0, 0, $iX2 - $iX1 + 1, $iY2 - $iY1 + 1) GUISetState() EndSwitch WEnd ; ------------- Func Mark_Rect() Local $aMouse_Pos, $hMask, $hMaster_Mask, $iTemp Local $UserDLL = DllOpen("user32.dll") ; Create transparent GUI with Cross cursor $hCross_GUI = GUICreate("Test", @DesktopWidth, @DesktopHeight - 20, 0, 0, $WS_POPUP, $WS_EX_TOPMOST) WinSetTrans($hCross_GUI, "", 8) GUISetState(@SW_SHOW, $hCross_GUI) GUISetCursor(3, 1, $hCross_GUI) Global $hRectangle_GUI = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST) GUISetBkColor(0xFF0000) ; Wait until mouse button pressed While Not _IsPressed("01", $UserDLL) Sleep(10) WEnd ; Get first mouse position $aMouse_Pos = MouseGetPos() $iX1 = $aMouse_Pos[0] $iY1 = $aMouse_Pos[1] ; Draw rectangle while mouse button pressed While _IsPressed("01", $UserDLL) $aMouse_Pos = MouseGetPos() $hMaster_Mask = _WinAPI_CreateRectRgn(0, 0, 0, 0) $hMask = _WinAPI_CreateRectRgn($iX1, $aMouse_Pos[1], $aMouse_Pos[0], $aMouse_Pos[1] + 1) ; Bottom of rectangle _WinAPI_CombineRgn($hMaster_Mask, $hMask, $hMaster_Mask, 2) _WinAPI_DeleteObject($hMask) $hMask = _WinAPI_CreateRectRgn($iX1, $iY1, $iX1 + 1, $aMouse_Pos[1]) ; Left of rectangle _WinAPI_CombineRgn($hMaster_Mask, $hMask, $hMaster_Mask, 2) _WinAPI_DeleteObject($hMask) $hMask = _WinAPI_CreateRectRgn($iX1 + 1, $iY1 + 1, $aMouse_Pos[0], $iY1) ; Top of rectangle _WinAPI_CombineRgn($hMaster_Mask, $hMask, $hMaster_Mask, 2) _WinAPI_DeleteObject($hMask) $hMask = _WinAPI_CreateRectRgn($aMouse_Pos[0], $iY1, $aMouse_Pos[0] + 1, $aMouse_Pos[1]) ; Right of rectangle _WinAPI_CombineRgn($hMaster_Mask, $hMask, $hMaster_Mask, 2) _WinAPI_DeleteObject($hMask) ; Set overall region _WinAPI_SetWindowRgn($hRectangle_GUI, $hMaster_Mask) If WinGetState($hRectangle_GUI) < 15 Then GUISetState() Sleep(10) WEnd ; Get second mouse position $iX2 = $aMouse_Pos[0] $iY2 = $aMouse_Pos[1] ; Set in correct order if required If $iX2 < $iX1 Then $iTemp = $iX1 $iX1 = $iX2 $iX2 = $iTemp EndIf If $iY2 < $iY1 Then $iTemp = $iY1 $iY1 = $iY2 $iY2 = $iTemp EndIf GUIDelete($hRectangle_GUI) GUIDelete($hCross_GUI) DllClose($UserDLL) EndFunc ;==>Mark_Rect Just keep the mouse button down and drag. M231 point -
These two simple Functions convert from a UK formated date to a US formated date or vice versa. #include <MsgBoxConstants.au3> Example() Func Example() Local $sUKDate = @MDAY & '/' & @MON & '/' & @YEAR Local $sUSDate = @MON & '/' & @MDAY & '/' & @YEAR & ' ' & @HOUR & ':' & @MIN & ':' & @SEC MsgBox($MB_SYSTEMMODAL, '', 'Was ' & $sUKDate & ' & now it''s ' & _UKToUSDate($sUKDate) & ' in the US Format.') MsgBox($MB_SYSTEMMODAL, '', 'Was ' & $sUSDate & ' & now it''s ' & _USToUKDate($sUSDate) & ' in the UK Format.') EndFunc ;==>Example Func _UKToUSDate($sDate) ; DD/MM/YYYY >> MM/DD/YYYY Return StringRegExpReplace($sDate, '^(\d{2})\D?(\d{2})\D?(\d{4})([\d\s:]*)$', '\2/\1/\3\4') EndFunc ;==>_UKToUSDate Func _USToUKDate($sDate) ; MM/DD/YYYY >> DD/MM/YYYY Return StringRegExpReplace($sDate, '^(\d{2})\D?(\d{2})\D?(\d{4})([\d\s:]*)$', '\2/\1/\3\4') EndFunc ;==>_USToUKDate1 point
-
(solved) PLINK error output not coming through STDoutRead()
lordofthestrings reacted to edthedestroyer for a topic
After beating my head agaist a wall for a while, I final realized that "some" output from plink (connection refused and the prompt for caching an rsa key) does not come in through stdoutread(). I see in the sciTE console, but not in stdoutread() or stderrread(). All oher output is picked up just fine. Anyone know how to read this output or where it is going? Many thanks. I've build a little number that sends bulk commands to Cisco switches using some of the plinkwrapper, here is the area where I'm missing the output I need on the last select case. This is what I get in the SciTE console when I run it. But it is not showing out in stdoutread(). he server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is. The server's rsa2 key fingerprint is: ssh-rsa "baked potato" If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting. If you want to carry on connecting just once, without adding the key to the cache, enter "n". If you do not trust this host, press Return to abandon the connection. Store key in cache? (y/n) The reason I was not seeing this output is because it is error output and sent to the $sdterr_child handle which I did not create when I launched the process. Sound confusing? Just do the following if you are having this problem. Put $STDIN_CHILD + $STDERR_MERGED in the last argument in the run function when you launch the plink process. Example: $_plinkhandle = Run(@comspec & " /c" & plink.exe & $Protocol & "-P "&$_plink_Port&" "& $_plinkserver,"",@SW_HIDE,$STDIN_CHILD + $STDERR_MERGED)1 point