
Dickb
Active Members-
Posts
133 -
Joined
-
Last visited
Everything posted by Dickb
-
I used your project file (the .dev) but removed your au3_plugin files and added my own. Attached is the SDK I am using. Maybe try that one and see if it works. Dick au3_plugin_sdk.zip
-
@JSThePatriot As a test I have installed "Dev-C++ 5 beta 9 release(4.9.9.2)" on a clean W2k Installation. This installation was done with all the default choices. Then I downloaded the .zip file from the forum (http://www.autoitscript.com/forum/index.php?showtopic=21010&st=32) and compiled it. File -> Open Project or File... -> C:\dllHash4\File-String Hash.dev Excecute -> Rebuild All The compiler created the f-hash.dll without errors. And the newly created f-hash.dll.dll worked without problems with the f-shash_Example.au3. Are you sure that you are using the latest Plugin-SDK? (Mine is from 9/9/2005 and the used plugin files are in the .zip). Dick
-
You are right, I took the plugin files from my system for the compile. I just did a compare with your pludin files and they are different. Try the attached .zip of your project with the newer plugin files and it should work. Dick dllHash.zip
-
Example: Opt("MustDeclareVars", 1) Main() Exit Func Main() Local $IP Do $IP = InputBox("IPAddress", "Enter IP", "", "", 100, 120) If @error Then Exit Until CheckIP($IP) MsgBox(0, "IP", $IP) EndFunc Func CheckIP(ByRef $IP) Local $Ret, $aIP $Ret = True $aIP = StringSplit($IP, ".") If $aIP[0] <> 4 Then; The must be 4 octets $Ret = False Else For $i = 1 to 4 If Number($aIP[$i]) < 0 Or Number($aIP[$i]) > 255 Then $Ret = False; Must be 0 to 255 Next If $IP = "0.0.0.0" Or $IP = "255.255.255.255" Then $Ret = False; Not proper IP addresses Else $IP = StringFormat("%d.%d.%d.%d", $aIP[1], $aIP[2], $aIP[3], $aIP[4]); Strip leading zeroes EndIf EndIf Return $Ret EndFunc
-
@JS Your problem is that the "au3plugin.h" is in a different directory. If I put it in the same directory as the other source files (together with au3plugin.cpp) and adjust Dev-C++ to find them there, your program compiles without errors and runs fine with the test program. dllHash.cpp tries to include the au3plugin.h file but can't find it. You can also add the path to the include statement in dllHash.cpp to look like: #include "..\Plugin_SDK\src\au3plugin.h". This will also work. I hope this helps you, else let me know what your problems are and I will give it another try. Dick
-
I need help creating virtual keyboard. PLS
Dickb replied to dv8's topic in AutoIt GUI Help and Support
I have not tested this but take a look here: http://www.autoitscript.com/forum/index.php?showtopic=20450 and http://www.iol.ie/%7Elocka/mozilla/mozilla.htm Maybe it can do what you want. -
@JS I am happy to have a look at your version. Can you zip the project and add it or pm it to me. Hopefully I can help you to get further with your project.
-
I don't understand the problem. I have compiled jpm's version with Dev-C++ and CodeBlocks, both C compilers using GCC. No problems at all, the dll compiled with no errors at all and works just fine. The only difference is that CodeBlocks produces a dll that is 4KB smaller than Dev-C++. Good luck, Dick
-
I need help creating virtual keyboard. PLS
Dickb replied to dv8's topic in AutoIt GUI Help and Support
Thanks and nice changes. I have added some error detection to prevent the program to abort when the web page is not found. This occured to me when I had no network connection. Hope this change resolves it. Func Send_it() $title = WinGetTitle("Keyboard") If $B_oIE1 = 0 Then Return If _IEFormGetCount($B_oIE1) = 0 Then Return If $title = ("Keyboard - Enter Your PIN Number") Then $o_SearchForm = _IEFormGetObjByName ($B_oIE1, "FrmReportHealth") If $o_SearchForm = 0 Then Return $o_Keyword_1 = _IEFormElementGetObjByName ($o_SearchForm, "egn") $info = GUICtrlRead($Input) _IEFormElementSetValue ($o_Keyword_1, $info) GUICtrlSetData($Input, "") WinSetTitle("Keyboard - Enter Your PIN Number", "", "Keyboard - Enter the CAPCHA Code") EndIf If $title = ("Keyboard - Enter the CAPCHA Code") Then $o_SearchForm = _IEFormGetObjByName ($B_oIE1, "FrmReportHealth") If $o_SearchForm = 0 Then Return $o_Keyword_2 = _IEFormElementGetObjByName ($o_SearchForm, "key_ent") $info2 = GUICtrlRead($Input) _IEFormElementSetValue ($o_Keyword_2, $info2) GUICtrlSetData($Input, "") WinSetTitle("Keyboard - Enter the CAPCHA Code", "", "Keyboard - Enter Your PIN Number") EndIf EndFunc ;==>Send_it -
I need help creating virtual keyboard. PLS
Dickb replied to dv8's topic in AutoIt GUI Help and Support
@w0uter You are right. Forgot about that. But making it in autoit is just more fun. -
Using the Same Hotkey in 2 running scripts.
Dickb replied to cal's topic in AutoIt General Help and Support
I think it is possible. Compile these 2 scripts and give it a try. I hope this is what you are looking for. Script 1: #include <GUIConstants.au3> Global $f = 0; remeber active state of script GUICreate("Script 1") ; will create a dialog box that when displayed is centered GUISetState (@SW_SHOW) ; will display an empty dialog box While(1) $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop If Not $f And WinActive("Script 1") Then HotKeySet('`', 'MyFunction') $f = 1 EndIf If $f And Not WinActive("Script 1") Then HotKeySet('`') $f = 0 EndIf Wend Exit Func MyFunction() MsgBox(0, "S1", "` in Script 1") EndFunc Script 2: #include <GUIConstants.au3> Global $f = 0; remeber active state of script GUICreate("Script 2") ; will create a dialog box that when displayed is centered GUISetState (@SW_SHOW) ; will display an empty dialog box While(1) $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop If Not $f And WinActive("Script 2") Then HotKeySet('`', 'MyFunction') $f = 1 EndIf If $f And Not WinActive("Script 2") Then HotKeySet('`') $f = 0 EndIf Wend Exit Func MyFunction() MsgBox(0, "S2", "` in Script 2") EndFunc -
I need help creating virtual keyboard. PLS
Dickb replied to dv8's topic in AutoIt GUI Help and Support
Or to use events. It makes the keyboard it bit more responsive. I have modified Valuaters code for this a bit. Dick #include <GuiConstants.au3> #include <IE.au3> Opt("GUIOnEventMode", 1) Dim $BTN_[40] Dim $x Dim $ver = "1.0.1" Dim $web_loc = "http://healthinsurance.nssi.bg/report_healthhtm_1_15_OUT.asp"; - Microsoft Internet Explorer" $key = StringSplit("1,2,3,4,5,6,7,8,9,0,Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M", ",") $gui = GUICreate("Medical Center v" & $ver, @DesktopWidth , @DesktopHeight - 60, -1, -1) $B_oIE1 = ObjCreate("Shell.Explorer.2") $internetgui1 = GUICtrlCreateObj($B_oIE1, 50, 5, @DesktopWidth - 100, @DesktopHeight - 200) $B_oIE1.navigate ($web_loc) $keybd = GUICtrlCreateButton("SHOW KEYBOARD", 100, @DesktopHeight - 150, 150, 40) GUICtrlCreateLabel("Presented by, QTasc ", @DesktopWidth - 170, @DesktopHeight - 120, 120, 15, $SS_SUNKEN) GUISetState() $mainwindow = GuiCreate("Keyboard - Enter Your PIN Number", 400, 200, 20, @DesktopHeight - 300, -1, "", $gui) ; BUTTONS $BTN_[1] = GuiCtrlCreateButton("1", 0, 0, 40, 40) $BTN_[2] = GuiCtrlCreateButton("2", 40, 0, 40, 40) $BTN_[3] = GuiCtrlCreateButton("3", 80, 0, 40, 40) $BTN_[4] = GuiCtrlCreateButton("4", 120, 0, 40, 40) $BTN_[5] = GuiCtrlCreateButton("5", 160, 0, 40, 40) $BTN_[6] = GuiCtrlCreateButton("6", 200, 0, 40, 40) $BTN_[7] = GuiCtrlCreateButton("7", 240, 0, 40, 40) $BTN_[8] = GuiCtrlCreateButton("8", 280, 0, 40, 40) $BTN_[9] = GuiCtrlCreateButton("9", 320, 0, 40, 40) $BTN_[10] = GuiCtrlCreateButton("0", 360, 0, 40, 40) $BTN_[11] = GuiCtrlCreateButton("Q", 0, 40, 40, 40) $BTN_[12] = GuiCtrlCreateButton("W", 40, 40, 40, 40) $BTN_[13] = GuiCtrlCreateButton("E", 80, 40, 40, 40) $BTN_[14] = GuiCtrlCreateButton("R", 120, 40, 40, 40) $BTN_[15] = GuiCtrlCreateButton("T", 160, 40, 40, 40) $BTN_[16] = GuiCtrlCreateButton("Y", 200, 40, 40, 40) $BTN_[17] = GuiCtrlCreateButton("U", 240, 40, 40, 40) $BTN_[18] = GuiCtrlCreateButton("I", 280, 40, 40, 40) $BTN_[19] = GuiCtrlCreateButton("O", 320, 40, 40, 40) $BTN_[20] = GuiCtrlCreateButton("P", 360, 40, 40, 40) $BTN_[21] = GuiCtrlCreateButton("A", 20, 80, 40, 40) $BTN_[22] = GuiCtrlCreateButton("S", 60, 80, 40, 40) $BTN_[23] = GuiCtrlCreateButton("D", 100, 80, 40, 40) $BTN_[24] = GuiCtrlCreateButton("F", 140, 80, 40, 40) $BTN_[25] = GuiCtrlCreateButton("G", 180, 80, 40, 40) $BTN_[26] = GuiCtrlCreateButton("H", 220, 80, 40, 40) $BTN_[27] = GuiCtrlCreateButton("J", 260, 80, 40, 40) $BTN_[28] = GuiCtrlCreateButton("K", 300, 80, 40, 40) $BTN_[29] = GuiCtrlCreateButton("L", 340, 80, 40, 40) $BTN_[30] = GuiCtrlCreateButton("Z", 40, 120, 40, 40) $BTN_[31] = GuiCtrlCreateButton("X", 80, 120, 40, 40) $BTN_[32] = GuiCtrlCreateButton("C", 120, 120, 40, 40) $BTN_[33] = GuiCtrlCreateButton("V", 160, 120, 40, 40) $BTN_[34] = GuiCtrlCreateButton("B", 200, 120, 40, 40) $BTN_[35] = GuiCtrlCreateButton("N", 240, 120, 40, 40) $BTN_[36] = GuiCtrlCreateButton("M", 280, 120, 40, 40) $BackSpace = GuiCtrlCreateButton("<-", 320, 120, 40, 40) GUICtrlSetFont( -1, 10, 500) $Input = GUICtrlCreateInput("", 40, 170, 150, 20) GUICtrlSetFont( -1, 10) $Send = GUICtrlCreateButton("&ENTER", 205, 165, 150, 30) For $i = 1 To 37 GUICtrlSetOnEvent($BTN_[$i], "ButtonPressed") Next GUICtrlSetOnEvent($BackSpace, "Back_Space") GUICtrlSetOnEvent($Send, "Send_it") GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") GUISetState(@SW_SHOW) WinSetOnTop ( "Keyboard", "", 1 ) While (1) Sleep(500) WEnd Func ButtonPressed() $i = @GUI_CtrlId - $BTN_[1] + 1; array starts at item 1, so add 1 $info1 = GUICtrlRead($input) GUICtrlSetData($input, $info1 & $key[$i]) EndFunc Func Back_Space() $info1 = GUICtrlRead($input) $info1 = StringTrimRight($info1, 1) GUICtrlSetData($input, $info1 ) EndFunc Func CLOSEClicked() If @GUI_WINHANDLE = $mainwindow Then Exit EndIf EndFunc Func Send_it() $title = WinGetTitle("Keyboard") If $title = ("Keyboard - Enter Your PIN Number") Then $o_SearchForm = _IEFormGetObjByName ($B_oIE1, "FrmReportHealth") $o_Keyword_1 = _IEFormElementGetObjByName ($o_SearchForm, "egn") $info = GUICtrlRead($input) _IEFormElementSetValue ($o_Keyword_1, $Info) GUICtrlSetData($input, "" ) WinSetTitle("Keyboard - Enter Your PIN Number", "", "Keyboard - Enter the CAPCHA Code") EndIf If $title = ("Keyboard - Enter the CAPCHA Code") Then $o_SearchForm = _IEFormGetObjByName ($B_oIE1, "FrmReportHealth") $o_Keyword_2 = _IEFormElementGetObjByName ($o_SearchForm, "key_ent") $info2 = GUICtrlRead($input) _IEFormElementSetValue ($o_Keyword_2, $info2) GUICtrlSetData($input, "" ) WinSetTitle("Keyboard - Enter the CAPCHA Code", "","Keyboard - Enter Your PIN Number") EndIf EndFunc EDIT: corrected a typo. -
This is just a quick solution to keep Dr Watson away. You probably should return a @error code when the file is not found. But I leave that up to you. (Oops, another typo fixed)
-
@JSThePatriot, a simple way to get it working is to replace return NULL; wth return ""; in FileMD5Encrypt(char* sFilename). This is in the module JSmd5.cpp The original line returns a NULL as address. If you try to copy the string later then it tries to copy from address NULL and that generates a trap. The second option returns a pointer to an empty string ('\0' character), then the copy function just copies the empty string and that works. I have tested your code with Dev-C++. Nice work Fixed a number of typo's
-
It works better when you connect $GUIActiveX3 to $oIE3 and $GUIActiveX4 to $oIE4. look at the GUICtrlCreateObj. Hope this helps. Probably not an AutoIt bug but a Programmer bug
-
If you replace (Line 58) $item = _GUICtrlListViewGetItemText($list, $n) with $item = _GUICtrlListViewGetItemText($list, $n, -1, $titel) it works. The connection with the program is lost without the title, see the function in the UDF. Groeten, Dick
-
Question on @IPAddress or @computername
Dickb replied to pjw73nh's topic in AutoIt General Help and Support
Like this? If StringRight(@Computername, 8) <> ".ehr.org" Or (StringLeft(@IPAddress1, 3) <> "10." And StringLeft(@IPAddress1, 5) <> "1.1.4") Then MsgBox(0, "Computer", "Not a company computer") Exit(1) EndIf MsgBox(0, "Computer", "This is a company computer") -
You are right. I ran into this problem recently and changed the 2 to a 1. I've overlooked that there are max 3 parameters. Indeed !ObjEvent 1 3 is correct.
-
You have to change !ObjEvent 2 4 To !ObjEvent 1 4 In C:\Program Files\AutoIt3\SciTe\Defs\unstable\Au3Check\au3check.dat (Or where your file is located.)
-
Just played around with version 0.4 and some VB scripts from my work. I found a "Do while - loop" in one of the scripts which was not translated. I've added two lines to the VATable.txt file to solved this. Do While|While|0|0|0| Loop|WEnd|0|0|0| Don't know if this is sufficient, but it worked for my VB script. @bkemmler: Thanks for your work on this.
-
It's also possible to use MS internet explorer to show animated gifs. I've tested this in Windows XP pro. #include "GUIConstants.au3" $oIE = ObjCreate("Shell.Explorer.2") $iWidth = 40 ; Set window width $iHeigth = 60 ; Set window height GUICreate("Embedded Gif control Test", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS) GUICtrlCreateObj($oIE, 10, 10, $iWidth, $iHeigth) ; Create IE view window GUISetState();Show GUI With $oIE .Top = -1 ; Top left 3D border .Left = -1 ; Hide left 3D border .Width = $iHeigth + 50; Hide right scroll bar .navigate2('C:\MyGif\Test.gif'); Path to animated gif EndWith ; Waiting for user to close the window While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop EndSelect WEnd $obj = 0 GUIDelete() Exit
-
I just have to say this: Valik, I am very satisfied with AutoIt. Use it a lot in private and work environment. Most of the time only people that want THEIR feature added to AutoIt post messages. Please all you developpers , keep up the good work . And don't get upset with posts from this people that persistently declare why their feature should be added. AutoIt is GREAT . Thank you all.
-
Subsequent DriveMapAdd Statements
Dickb replied to Matt @ MPCS's topic in AutoIt General Help and Support
Hi take a look at this script. It may help you on your way. It needs a lot improvement, but it works for me. I use it to switch shares at work and at home. Maybe you can adapt it for your needs. Mapping_Control.zip -
Cutting a line totally out of an array
Dickb replied to doomkiller's topic in AutoIt General Help and Support
You are right. I should have done it like this If StringInStr($array[$x], "1171") Then $y -= 1 _ArrayDelete($array, $x) _ArrayDisplay($array, "Removed entry") Else $x += 1 EndIf But your code is better, easyer and more effective. -
Cutting a line totally out of an array
Dickb replied to doomkiller's topic in AutoIt General Help and Support
Because the length of the array gets shorter. Ubound changes but the for/next loop doesn't reload it with every loop. Try this code, it may help you. $y = UBound($array) $x = 1 Do If StringInStr($array[$x], "1171") Then $y -= 1 _ArrayDelete($array, $x) _ArrayDisplay($array, "Removed entry") EndIf $x += 1 Until $x >= $y