Jump to content

Stevo

Members
  • Posts

    11
  • Joined

  • Last visited

Stevo's Achievements

Seeker

Seeker (1/7)

0

Reputation

  1. Hi Jpam, Thanks for wonderful work. Does the UDF and dll compatible with 16 bit color dept. I am trying Steganography UDF http://www.autoitscript.com/forum/index.php?showtopic=65175 based on prospeed. While decoding on a 16 bit desktop I get the following -debug console- instead of unencrypted file. $Decrypt_Char = ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ $En_Rcolor = 255 $En_Vcolor = 255 $En_Bcolor = 255 I also have tried version 3 prospeed udf and dll with the same result. Many thanks for your kind advice. Regards... Steven
  2. Hi Kilhian, Really nice script. However when I run decoder on a 16 Bit color desktop I get the following -console debug- output $Decrypt_Char = ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ $En_Rcolor = 255 $En_Vcolor = 255 $En_Bcolor = 255 On 32bit color desktop its ok. Could you please let me what I might be doing wrong. Regards, Steven
  3. Hi GaryFrost, Thank you very much. That worked OK on Notepad. However when I try to read the text from RichText controls I get "Text is = ?". So just a question mark as the value. My next question is how to read the value of Richtext Control Edits? Many thanks for your kind help. Cheers, Steven
  4. Hi Malkey, Many thanks for sending you script. This one still didn't work. I run Vista SP1. So what I did I copied it to XP Desktop. Then it runs OK. I think this method needs to be changed for it to work on Vista. Kind of running ideas here. Many thanks again. Steven
  5. Hi Malkey, Many thanks for your quick reply. I do have text in notepad. I tested this again a minute ago. I typed in a simple word -my name- on notepad and then ran the script. I get everything right except the text is empty again. Would you by any chance have another working script you can post here please? Basically I need to read data from 3rd party application richtext editcontrols such as notepad, etc. This is not possible using ControlGetText() because of being richtext... Regards, Steven Regards, Steven
  6. Fred. I understand. Hopefuly we are in the right forum though. Getting this working for me whould be fantastic. I tried lots of diffrent ways. So far no joy.... Let's pray together.... Regards, Steven
  7. Hi Ptrex, I have mad minor changes -Its basicaly similar to Firestorm version above- to compile and run on v3.2.12.1. Now for text= I get empty string. That is reading $Ret[4]. What I might be doing wrong? Here is my script: #Region;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_outfile=readData.exe #EndRegion;**** Directives created by AutoIt3Wrapper_GUI **** ; My first DLLCall ; ptrex #include <GUIConstants.au3> #include <GuiConstantsEx.au3> #include <GUIedit.au3> Opt("WinTitleMatchMode", 4); Allow ClassName lookup ; Global Const $EM_GETLINE = 0xC4 Dim $LineCount Dim $LineNum Dim $Ret Dim $LineLen Dim $FirstCharPos Dim $Buffer Const $Applhandle = WinGetHandle("classname=Notepad") Const $Ctrlhandle = ControlGetHandle("","",15) WinWaitActive($Applhandle) sleep(500) WinHandle() ;CtrlReadLineNum($Ctrlhandle) ;LineIndex($Ctrlhandle) ;LineLenght($Ctrlhandle) CtrlRead($Ctrlhandle) Func WinHandle(); tested = OK $result = DllCall("user32.dll", "int", "MessageBox", "hwnd", 0, "str", "Window Active " & $Ctrlhandle, "str", "Handle Test" , "int", 0) EndFunc Func CtrlReadLineNum($Ctrlhandle); tested = OK $Ctrlread = _GUICtrlEdit_GetLineCount($Ctrlhandle) MsgBox(0,"Test","Line #" & " "& $Ctrlread) EndFunc Func LineIndex($Ctrlhandle); tested = OK $Ctrlread =_GUICtrlEdit_LineIndex($Ctrlhandle) MsgBox(0,"Test","Line Index" & " "& $Ctrlread) EndFunc Func LineLenght($Ctrlhandle); tested = OK $Ctrlread =_GUICtrlEdit_LineLength($Ctrlhandle) MsgBox(0,"Test","Line Lenght" & " "& $Ctrlread) EndFunc Func CtrlRead($Ctrlhandle); tested = OK $LineCount = _GUICtrlEdit_GetLineCount($Ctrlhandle) MsgBox(0, "Test", "Line #" & " " & $LineCount) For $LineNum = 0 To $LineCount - 1 $FirstCharPos = _GUICtrlEdit_LineIndex($Ctrlhandle, $LineNum) MsgBox(0, "Test", "First Char Pos on Line IDX: " & $FirstCharPos) $LineLen = _GUICtrlEdit_LineLength($Ctrlhandle, $FirstCharPos) MsgBox(0, "Test", "Length: " & $LineLen) $Buffer = $LineLen $Ret = DllCall("user32.dll", "int", "SendMessage", "hwnd", $Ctrlhandle, "int", $EM_GETLINE, "int", $LineNum, "str", "") MsgBox(0, "Test", "Text is =" & " " & $Ret[4]) Next EndFunc;==>CtrlRead Many thanks. Steven
  8. Hi Fred, Unfortunetly I haven't seen any reply to my question. Actualy I was wondering for long time myself. I have found some info on the web: http://www.codeguru.com/cpp/i-n/network/ac...ticle.php/c5445 http://www.codeproject.com/KB/winsdk/bfobj...x?display=Print http://msdn.microsoft.com/en-us/library/ms677102.aspx Since I am an administrator with no programming skill, none the above helped. Basically C++, C# codes. The closest I found using VB is here: http://www.planet-source-code.com/vb/scrip...68&lngWId=1 I am copying the VB code bellow. Maybe you can help transalting it to au3. I am no good unfortunetly... I still need this. Maybe we can make something happen or ask for help collectively... Regards, Steven '************************************** 'Windows API/Global Declarations for :Ob ' ject picker with dispcallfunc '************************************** Public pDsOPIntf As Long ' IDsObjectPicker has two functions in t ' he interface Private Const sCLS_DsOP = "{17D6CCD8-3B7B-11D2-B9E0-00C04FD8DBF7}" Private Const sIID_DsOP = "{0c87e64e-3b7a-11d2-b9e0-00c04fd8dbf7}" 'Vtbl - First 3 functions from IUnknown: ' ' QueryInterface; AddRef; Release; ' Init - Sets scope, filter, etc. for ' use with next invocation of dialog ' STDMETHOD(Initialize)( THIS_ ' PDSOP_INIT_INFO pInitInfo) PURE; ' Invoke - Shows modal DS Object Picker ' dialog. ' STDMETHOD(InvokeDialog)( THIS_ HWND hw ' ndParent, ' IDataObject **ppdoSelections) PURE; Public Enum eVtblFunctionOffset vtblOffsetQueryInterface = 0 '2 Args vtblOffsetAddRef = 4 '0 Arg vtblOffsetRelease = 8 '0 Arg vtblOffsetInitialize = 12 '1 Arg : InitInfo * vtblOffsetInvokeDialog = 16 '2 Args: hW, DataObject ** End Enum Private Declare Function CLSIDFromString Lib "ole32" ( _ ByVal sCLSID As Long, ByRef pUUID As UUID) As Long Private Declare Function CoCreateInstance Lib "ole32" ( _ ByRef pCLSID As UUID, ByVal pUnkOuter As Long, ByVal dwClsContext As Long, _ ByRef pIID As UUID, ByRef pIntfPtr As Long) As Long Private Declare Function DispCallFunc Lib "oleaut32" (ByVal pvInstance As Long, _ ByVal offsetinVft As Long, ByVal CallConv As Long, ByVal retTYP As VbVarType, _ ByVal paCNT As Long, ByRef paTypes As Integer, _ ByRef paValues As Long, ByRef retVAR As Variant) As Long ' from oleauto.h Type DSOP_UPLEVEL_FILTER_FLAGS Type DSOP_FILTER_FLAGS Type DSOP_SCOPE_INIT_INFO Type DSOP_INIT_INFO DSOP_SCOPE_INIT_INFO Type DS_SELECTION Type DS_SELECTION_LIST ' Now the DataObject: Type STGMEDIUM Type FORMATETC
  9. Dear all, I have posted this question in general forum without getting any answer back. So appologies posting it here again; I would like to directly bring up the "AD object picker dialogbox". When Desktop is part of a domian, this dialog box could be displayed by going to: "Control panel" -> "User accounts" -> "Add" -> "Browse" to bring the dialogbox up. I have attached a screenshot of the dialog. I read somewhere that objsel.dll is needed to run this dialogbox. My question is about how to use DllCall to run "objsel.dll or use AutoIt COM to display this dialogbox?... Many thanks for your kind support. Thanks and kind regards, Steven
  10. Dear all, I would like to directly bring up the AD object picker "dialogbox". When Desktop is part of a domian, this dialog box could be displayed by going to: "Control panel" -> "User accounts" -> "Add" -> "Browse" to bring the dialogbox up. I have attached a screenshot of the dialog. I read somewhere that objsel.dll is needed to run this dialogbox. My question is about how to use DllCall to run "objsel.dll or use AutoIt COM to display this dialogbox?... Many thanks for your kind support. Thanks and kind regards, Steven
  11. Here is the script cleand up for A3. #NoTrayIcon #include <GDIPlus.au3>; this is where the magic happens, people #include <GuiComboBox.au3> #Include <File.au3> #include <Array.au3> Opt("MustDeclareVars", 0) Global Const $AC_SRC_ALPHA = 1 Global Const $ULW_ALPHA = 2 Global $old_string = "", $runthis = "" Global $launchDir = @DesktopDir ; Load PNG file as GDI bitmap _GDIPlus_Startup() $pngSrc = @scriptdir&"\LaunchySkin.png" $hImage = _GDIPlus_ImageLoadFromFile($pngSrc) ; Extract image width and height from PNG $width = _GDIPlus_ImageGetWidth ($hImage) $height = _GDIPlus_ImageGetHeight($hImage) ; Create layered window $GUI = GUICreate("lod3n launcher", $width, $height, -1, -1, $WS_POPUP, $WS_EX_LAYERED) SetBitMap($GUI, $hImage, 0) ; Register notification messages GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST") GUISetState() WinSetOnTop($gui,"",1) ;fade in png background for $i = 0 to 255 step 10 SetBitMap($GUI, $hImage, $i) next ; create child MDI gui window to hold controls ; this part could use some work - there is some flicker sometimes... $controlGui = GUICreate("ControlGUI", $width, $height, 0,0,$WS_POPUP,BitOR($WS_EX_LAYERED,$WS_EX_MDICHILD),$gui) ; child window transparency is required to accomplish the full effect, so $WS_EX_LAYERED above, and ; I think the way this works is the transparent window color is based on the image you set here: GUICtrlCreatePic(@ScriptDir & "\grey.gif",0,0,$width,$height) GuiCtrlSetState(-1,$GUI_DISABLE) ; just a text label GUICtrlCreateLabel("Type the name of a file on your desktop and press Enter",50,12,140,50) GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) GUICtrlSetColor(-1,0xFFFFFF) ; combo box listing all items on desktop $Combo = GuiCtrlCreateCombo("", 210, 12,250,-1) GUICtrlSetFont ($Combo, 12) ; set default button for Enter key activation - renders outside GUI window $goButton = GUICtrlCreateButton ( "Go",$width,$height,10,10,$BS_DEFPUSHBUTTON) GUISetState() ; get list of files on desktop, show in combobox $aFileList=_FileListToArray($launchDir) _ArraySort($aFileList,0,1) $FileList = _ArrayToString ( $aFileList, "|", 1) GUICtrlSetData($Combo,$FileList) AdlibEnable ( "GoAutoComplete", 1000 ); combo autocomplete every message loop = often incorrect While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $goButton $runthis = GUICtrlRead($Combo) ExitLoop EndSelect WEnd AdlibDisable () if $runthis <> "" then if fileexists($launchDir & "\" & $runthis) then beep(1000,50) beep(2000,50) _ShellExecute($runthis, "", $launchDir) EndIf EndIf GUIDelete($controlGui) ;fade out png background for $i = 255 to 0 step -10 SetBitMap($GUI, $hImage, $i) next ; Release resources _WinAPI_DeleteObject($hImage) _GDIPlus_Shutdown() func GoAutoComplete() _GUICtrlComboBox_AutoComplete ($Combo) EndFunc ; ==================================================================================================== =========================== ; Handle the WM_NCHITTEST for the layered window so it can be dragged by clicking anywhere on the image. ; ==================================================================================================== =========================== Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam) if ($hWnd = $GUI) and ($iMsg = $WM_NCHITTEST) then Return $HTCAPTION EndFunc ; ==================================================================================================== =========================== ; SetBitMap ; ==================================================================================================== =========================== Func SetBitmap($hGUI, $hImage, $iOpacity) Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend $hScrDC = _WinAPI_GetDC(0) $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC) $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap) $tSize = DllStructCreate($tagSIZE) $pSize = DllStructGetPtr($tSize ) DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth ($hImage)) DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage)) $tSource = DllStructCreate($tagPOINT) $pSource = DllStructGetPtr($tSource) $tBlend = DllStructCreate($tagBLENDFUNCTION) $pBlend = DllStructGetPtr($tBlend) DllStructSetData($tBlend, "Alpha" , $iOpacity ) DllStructSetData($tBlend, "Format", $AC_SRC_ALPHA) _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA) _WinAPI_ReleaseDC (0, $hScrDC) _WinAPI_SelectObject($hMemDC, $hOld) _WinAPI_DeleteObject($hBitmap) _WinAPI_DeleteDC ($hMemDC) EndFunc ; I don't like AutoIt's built in ShellExec. I'd rather do the DLL call myself. Func _ShellExecute($sCmd, $sArg="", $sFolder = "", $rState = @SW_SHOWNORMAL) $aRet = DllCall("shell32.dll", "long", "ShellExecute", _ "hwnd", 0, _ "string", "", _ "string", $sCmd, _ "string", $sArg, _ "string", $sFolder, _ "int", $rState) If @error Then Return 0 $RetVal = $aRet[0] If $RetVal > 32 Then Return 1 else Return 0 EndIf EndFunc Download the original zip file and replace the content of lod3n_launcher with above and enjoy. Cheers. Stevo
×
×
  • Create New...