Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/13/2014 in all areas

  1. IE Embedded Control Versioning Use IE 9+ and HTML5 features inside a GUI This UDF allows the use of embedded IE controls which support IE versions greater than IE 7. By default, all embedded IE controls default to IE 7 compatibility mode (unless for some reason somebody has IE 6 installed!), so its not possible to use most of the HTML5 features available today. Fortunately, IE 9 and greater allow the use of HTML5, and the embedded IE control actually supports it. The problem is convincing Windows to let your program actually use those features! There are Registry branches that modify how an IE control works in specific programs. Those branches are: HKCU\Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION HKLM\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION In at least one of these branches, the executable name needs to appear as a value name ("autoit.exe" for example), and the value data needs to indicate what IE version to 'emulate'. The value data is actually dependent on the version and whether quirks-mode is enabled. See Web Browser Control - Specifying the IE Version for more information. Note that a 64-bit O/S needs adjustments to the HKLM paths. Also, prefer the HKCU branch unless the program needs to enable access across all user accounts. HTML5 Canvas Element Example Anyway, all the complexity of setting the right value with the right name with the right 32/64-bit branch is handled for you in this UDF. Enabling support for IE9+, and new HTML5 features, is as simple as making one call to _IE_EmbeddedSetBrowserEmulation(). _IE_EmbeddedSetBrowserEmulation() takes an executable name (@AutoItExe if none is provided), and checks the Registry for an entry for it. If it doesn't find one, it will create one and enable support for later versions of IE. The full parameters to the function are as follows: _IE_EmbeddedSetBrowserEmulation($nIEVersion, $bIgnoreDOCTYPE = True, $bHKLMBranch = False, $sExeName = @AutoItExe) The parameter passed in $nIEVersion can be anything from 8 to 11 [or 12+ in the future], or just the current version of IE, which is available also through a call to _IE_EmbeddedGetVersion(). $bIgnoreDOCTYPE controls when IE will go into quirks mode based on any "<!DOCTYPE>" declarations on webpages. This mode can cause major problems, so by default it is set to ignore it (set this to False to enable it). $bHKLMBranch controls where in the registry the Browser Emulation Mode setting will be stored. If you wish to store the mode for ALL users, set this parameter to True. Note, however, that elevated privileges are required for modifying the HKLM branch! If the call to _IE_EmbeddedSetBrowserEmulation() is successful, then you can enable a (more) HTML5 compliant IE browser control in a GUI. The complete set of functions in the UDF: _IE_EmbeddedGetVersion() ; Gets version of IE Embeddable Control (from ieframe.dll or Registry) _IE_EmbeddedGetBrowserEmulation() ; Gets Browser Emulation Version for given Executable (or 0 if not found) _IE_EmbeddedSetBrowserEmulation() ; Sets Browser Emulation Version. NOTE: HKLM branch REQUIRES ELEVATED PRIVILEGES! _ IMPORTANT: Setting the embedded browser object to a newer version of IE may alter the behavior of some things. See documenation for the HTMLDocumentEvents2 interface and HTMLAnchorEvents2 interface for example. Also, there is at least one difference in behavior noted by mesale0077 in working with IE10 (and possibly other versions of IE) - clicks for elements inside an <a> anchor tag will register as the actual internal element rather than the surrounding anchor. For example, an <img> element wrapped by an <a> anchor will only send the click to the <img> element and not propagate it any further. A workaround for this is to check the parentNode to see if it is an <a> element. See the discussion in the >ObjEvent dont work thread. It could be that there's some other reason for this behavior, but nothing has come to light yet. As an aside, also see trancexx's response in >ObjEvent usage for more techniques for capturing IE events. History: An example of HTML5 use, which has a little interactive Canvas, follows (requires IE9 or higher!): #include "IE_EmbeddedVersioning.au3" ; =============================================================================================================================== ; <IE_EmbeddedHTML5Example.au3> ; ; Example of using 'IE_EmbeddedVersioning' UDF ; ; This example 1st attempts to set the Browser Emulation information in the registry, then ; creates an embedded IE control with an interactive HTML5 Canvas element. ; ; Author: Ascend4nt ; =============================================================================================================================== #Region IE_CANVAS_EXAMPLE #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <IE.au3> ; ----------- ; GLOBALS ; ----------- Global $bMouseDown = False, $iLastX1 = 0, $iLastY1 = 0 Global $g_oCanvas, $g_oCtx Global $hGUI, $ctGUI_ErrMessageLabel Global $GUI_IE_Obj Global $nRet = _WinMain() ; Optionally remove valuename at Exit (not recommended if compiled to executable) ;~ _IE_EmbeddedRemoveBrowserEmulation() Exit $nRet ; ====================================================================================================== ; Embedded IE Browser-Emulation Fix + HTML5 Example ; ====================================================================================================== Func _WinMain() ConsoleWrite("@AutoItX64 = " & @AutoItX64 & ", IsAdmin() = " & IsAdmin() & @CRLF) ;; Get Current IE Embeddable Control Version (from ieframe.dll) Local $sIEVer = _IE_EmbeddedGetVersion(), $nIEVer = @extended ConsoleWrite("Embedded Version = " & $sIEVer & ", as Int: " & $nIEVer & ", @error = " & @error & @CRLF) ; Old IE version w/o HTML5 support? Exit If $nIEVer < 9 Then Return MsgBox(0, "Old IE Version", "IE version is less than 9, HTML5 example will not work") ;; Current Browser Emulation Mode for this executable (if exists) Local $nIEBEVer = _IE_EmbeddedGetBrowserEmulation() ConsoleWrite("GetEmbeddedVersion: " & $nIEBEVer & ", @error = " & @error & ", @extended = " & @extended & @CRLF) ;; Set Browser Emulation Mode for this executable (if not already set or set to a different version) ; HKCU Branch: _IE_EmbeddedSetBrowserEmulation() ; HKLM Branch: ;_IE_EmbeddedSetBrowserEmulation(-1, True, True) If @error Then ; -1 error means trying to access HKLM, so script needs elevation to access the Registry If @error = -1 Then If MsgBox(32 + 3, "Elevation Required", "Elevate script to enable setting Browser Emulation Mode?") = 6 Then Return _ReRunIfNotElevated() Return 1 EndIf Return MsgBox(0, "Error", "Couldn't set Browser Emulation mode") EndIf ;Local $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc") ;; Create Embedded Browser Control and GUI Local $oIE = _IECreateEmbedded() ; GUI (vars are Global) $hGUI = GUICreate("Embedded Web control Test", 460, 360, -1, -1, $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN) $GUI_IE_Obj = GUICtrlCreateObj($oIE, 10, 10, 440, 340) $ctGUI_ErrMessageLabel = GUICtrlCreateLabel("", 100, 500, 500, 30) GUICtrlSetColor(-1, 0xff0000) GUISetState(@SW_SHOW) ;Show GUI ; Doesn't work (at least for keyboard focus): ;~ ControlFocus($hGUI, '', $GUI_IE_Obj) ;; Initialize Embedded Control and write some HTML5 data to it _IENavigate($oIE, 'about:blank' ) ; Basic Near-Empty HTML (with minimal CSS styling for Canvas element) Local $sHTML = '<!DOCTYPE html>' & @CR & '<html>' & @CR & '<head>' & @CR & _ '<meta content="text/html; charset=UTF-8" http-equiv="content-type">' & @CR & _ '<title>Experiments</title>' & @CR & _ '<style>canvas { display:block; background-color:white; outline:#00FF00 dotted thin;}</style>' & @CR & _ '</head>' & @CR & '<body>' & @CR & '</body>' & @CR & '</html>' _IEDocWriteHTML($oIE, $sHTML) _IEAction($oIE, "refresh") ;; Setup Event Object Functions Local $oEventsDoc = ObjEvent($oIE.document, "Event_", "HTMLDocumentEvents2") #forceref $oEventsDoc ;~ ConsoleWrite("Obj Name = " & ObjName($oIE) & @CRLF) ;~ ConsoleWrite("Location = " & $oIE.document.location.pathname & @CRLF) ; -------------------------------------------------------------------------------------- ; Create Canvas Element through the DOM (optionally just add it in the HTML5 above) ; ------------------------------------------------- ; Note: Support in browsers, see "Can I use..." ; @ http://caniuse.com/#feat=canvas ; and @ http://caniuse.com/#search=canvas ; ------------------------------------------------- ; IE minimum is version 9+, 10+ has more features, but WebGL support requires version 11+ ; -------------------------------------------------------------------------------------- $g_oCanvas = $oIE.document.createElement("canvas") $g_oCanvas.id = "myCanvas" ;~ ConsoleWrite("Canvas ID = " & $g_oCanvas.id & @CRLF) $oIE.document.body.appendChild($g_oCanvas) ; Optionally, if added already through the HTML5 text: ;Local $g_oCanvas = _IEGetObjById($oIE, "myCanvas") If @error Then Return MsgBox(0, "Error", "Error creating/accessing Canvas") ;; Tweak Canvas Size, Move into View ;~ ConsoleWrite("window innerwidth = " & $oIE.document.parentWindow.innerWidth & @CRLF) ;$oIE.document.parentWindow.scrollTo(0, 10) $g_oCanvas.width = 420 $g_oCanvas.height = 320 ;ConsoleWrite("Canvas item offsetTop = " & $g_oCanvas.offsetTop & @CRLF) $g_oCanvas.scrollIntoView() ;; Grab the Canvas 2D Context $g_oCtx = $g_oCanvas.getContext("2d") ;; Example Drawing: Gradiant Local $oGrad = $g_oCtx.createLinearGradient(0,0,0,60) If IsObj($oGrad) Then $oGrad.addColorStop(0, "red") $oGrad.addColorStop(1, "blue") $g_oCtx.fillStyle = $oGrad EndIf $g_oCtx.fillRect(0,0,419,60) ;; Example Drawing: Text $g_oCtx.font = "30px serif" $g_oCtx.fillStyle = "white" $g_oCtx.textBaseline = "top" $g_oCtx.fillText("HTML5 Canvas Drawing!", 50, 10) ;; Example Drawing: Circle, Line $g_oCtx.beginPath() $g_oCtx.arc(200, 100, 20, 0, ACos(-1) * 2) $g_oCtx.fillStyle = "red" $g_oCtx.fill() $g_oCtx.beginPath() $g_oCtx.lineWidth = "3" $g_oCtx.strokeStyle = "green" $g_oCtx.moveTo(185, 85) $g_oCtx.lineTo(215, 115) $g_oCtx.stroke() ; Waiting for user to close the window While GUIGetMsg() <> $GUI_EVENT_CLOSE Sleep(10) WEnd GUIDelete() EndFunc ; ====================================================================================================== ; IE Event Functions - React to Mouse events with some Canvas graphics ; ====================================================================================================== #Region IE_EVENT_FUNCS ; For right-click, the context menu pops up, UNLESS we change the Event's 'returnValue' property Volatile Func Event_oncontextmenu($oEvtObj) If IsObj($oEvtObj) Then ; Convert to string so that 0 doesn't match EVERY string Local $sId = $oEvtObj.srcElement.id & "" If ($sId = "myCanvas") Then $oEvtObj.returnValue = False EndIf EndFunc Volatile Func Event_onmousedown($oEvtObj) If IsObj($oEvtObj) And IsObj($g_oCtx) Then ; Map click coordinates to Canvas coordinates $iLastX1 = $oEvtObj.x - $g_oCanvas.offsetLeft $iLastY1 = $oEvtObj.y - $g_oCanvas.offsetTop ;~ ConsoleWrite("Downclick recvd at X1: " & $iLastX1 & ", Y1: " & $iLastY1 & ", MouseButton [1 = left, 2 = right, etc] = " & $oEvtObj.button & @CRLF) ; Check if click was in fact within Canvas element If $iLastX1 >= 0 And $iLastX1 < $g_oCanvas.width And $iLastY1 >= 0 And $iLastY1 < $g_oCanvas.height Then ; Signal mouse-down occurred inside Canvas $bMouseDown = 1 ; Make a small square where initial down-click was detected $g_oCtx.fillStyle = "blue" $g_oCtx.fillRect($iLastX1 - 2, $iLastY1 - 2, 3, 3) EndIf EndIf EndFunc Volatile Func Event_onmouseup($oEvtObj) If IsObj($oEvtObj) And IsObj($g_oCtx) Then ;~ ConsoleWrite("MouseUp" & @LF) If $bMouseDown Then Local $iX = $oEvtObj.x - $g_oCanvas.offsetLeft, $iY = $oEvtObj.y - $g_oCanvas.offsetTop ; Random color in "#0f1100" (RGB) string form Local $sColor = "#" & Hex(Random(0, 255, 1), 2) & Hex(Random(0, 255, 1), 2) & Hex(Random(0, 255, 1), 2) ;; Draw either a line or circle depending on where the mouse button is released If $iX = $iLastX1 And $iY = $iLastY1 Then ; Circle if mouse start = mouse end $g_oCtx.beginPath() $g_oCtx.arc($iX, $iY, 8, 0, ACos(-1) * 2) $g_oCtx.fillStyle = $sColor $g_oCtx.fill() Else ; Line if mouse start <> mouse end $g_oCtx.beginPath() $g_oCtx.lineWidth = "3" $g_oCtx.strokeStyle = $sColor $g_oCtx.moveTo($iLastX1, $iLastY1) $g_oCtx.lineTo($iX, $iY) $g_oCtx.stroke() EndIf $bMouseDown = 0 EndIf EndIf EndFunc Volatile Func Event_onkeydown($oEvtObj) If IsObj($oEvtObj) Then ConsoleWrite("Event type: " & $oEvtObj.type & "id (0 is document) = " & $oEvtObj.srcElement.id) ConsoleWrite(", keycode = " & $oEvtObj.keyCode & ", shiftkey = " & $oEvtObj.shiftKey & @CRLF) EndIf EndFunc ; ====================================================================================================== #EndRegion IE_EVENT_FUNCS #EndRegion IE_CANVAS_EXAMPLE #Region UTIL_FUNCS ; ====================================================================================================== ; Func _ReRunIfNotElevated() ; ; Does what it says. (rumored to occasionally say what it does) ; ; Author: Ascend4nt ; ====================================================================================================== Func _ReRunIfNotElevated() If IsAdmin() Then Return 0 Else If @Compiled Then ; If compiled to A3X, we need to execute it as if not compiled. Local $sCmd = (@AutoItExe = @ScriptFullPath) ? "" : ("/AutoIt3ExecuteScript " & @ScriptFullPath) Return ShellExecute(@AutoItExe, $sCmd, @ScriptDir, "runas") Else Return ShellExecute(@AutoItExe,@ScriptFullPath,@ScriptDir,"runas") EndIf EndIf EndFunc #EndRegion UTIL_FUNCS IEEmbeddedVersioning.zip ~prev Downloads: 61 Also, HTML5+Javascript standalone Canvas demo (should run in any browser): HTML5StandaloneCanvasDemo.zip
    2 points
  2. This isn't true. AutoIt code could be "compiled" into dll, but doing so wouldn't make much sense because such dlls would suffer from all the defects current interpreter does (emphasis is on speed here). Serious developer wouldn't have use for them. It has been done, and the results were just as expected - bad. Btw, to be more correct it would be better to say that AutoIt is just language. Execution technique is matter of implementation.
    2 points
  3. mesale0077 asked me whether I could code some CSS loading animations from different web sites. These are the results using GDI+ (AutoIt v3.3.12.0+ required!): _GDIPlus_MonochromaticBlinker.au3 / _GDIPlus_RotatingBokeh.au3 _GDIPlus_SpinningCandy.au3 / _GDIPlus_SteamPunkLoading.au3 _GDIPlus_IncreasingBalls.au3 / _GDIPlus_PacmanProgressbar.au3 _GDIPlus_StripProgressbar.au3 / _GDIPlus_RingProgressbar.au3 _GDIPlus_LineProgressbar.au3 / _GDIPlus_SimpleLoadingAnim.au3 _GDIPlus_TextFillingWithWater.au3 / _GDIPlus_MultiColorLoader.au3 _GDIPlus_LoadingSpinner.au3 / _GDIPlus_SpinningAndPulsing.au3 _GDIPlus_TogglingSphere.au3 / _GDIPlus_CloudySpiral.au3 _GDIPlus_GlowingText.au3 (thanks to Eukalyptus) / _GDIPlus_HypnoticLoader.au3 _GDIPlus_RotatingRectangles.au3 / _GDIPlus_TRONSpinner.au3 _GDIPlus_RotatingBars.au3 / _GDIPlus_AnotherText.au3 (thanks to Eukalyptus) _GDIPlus_CogWheels.au3 (thanks to Eukalyptus) / _GDIPlus_DrawingText.au3 (thanks to Eukalyptus) _GDIPlus_GearsAnim.au3 / _GDIPlus_LEDAnim.au3 _GDIPlus_LoadingTextAnim.au3 / _GDIPlus_MovingRectangles.au3 _GDIPlus_SpinningAndGlowing.au3 (thanks to Eukalyptus) / _GDIPlus_YetAnotherLoadingAnim.au3 _GDIPlus_AnimatedTypeLoader.au3 / _GDIPlus_Carousel.au3 Each animation function has a built-in example how it can be used. AiO download: GDI+ Animated Wait Loading Screens.7z (previous downloads: 1757) Big thanks to Eukalyptus for providing several examples. Maybe useful for some of you Br, UEZ PS: I don't understand CSS - everything is made out of my mind, so it might be different from original CSS examples
    1 point
  4. Take a look at trancexx excellent work here ?do=embed' frameborder='0' data-embedContent> If you would like to learn how to do this yourself mesale0077. Ed: fixed odd link
    1 point
  5. Can you activate the window of the dialog box with WinActivate? If so, even ControlSending an Enter would be more reliable than a MouseClick.
    1 point
  6. Is this a dialog box you are creating in a GUI, InputBox, etc., or is it a pop up in a 3rd party app? Either way, the conventional method would be to use the AutoIt Window Info tool, in the same directory where you installed AutoIt, and get the Control name or ID of the button. Then look at ControlClick in the help file. That way, no matter where the box is you can click on it. MouseMoves and MouseClicks you will quickly find are unreliable.
    1 point
  7. Danp2

    Help with FF.au3 problem

    Read the main FF.au3 thread and implement the fixes from there to address these issues (__FFStartProcess and TCPRecv errors).
    1 point
  8. That's exactly what you are doing in BrewManNH's solution.
    1 point
  9. Mbee, Looking at those images, PixelCheckSum instantly springs to mind. I assume that the initial state of the add is the upper image - so I reckon that clicking on the icon to open the menu would allow us to capture the checksum of the "Ready" menu before you ever start the app. That way the screen resolution, etc do not matter as the image will be that of the machine on which the app is running. Subsequent "peeks" just confirm whether the checksum is the same as the initial one or not and so determine the current state. And yes, it is a "fun challenge" so do not feel bad about asking - it is problems like this that keep me interested in coding. I will have a think about how we might do this while I am travelling over the next few days and I will get back to you - of course by all means have a go yourself in the meantime as well. M23
    1 point
  10. http://www.mediafire.com/?vtx9l1woj61h8r6 for the 32 and 64 bit versions for imagesearch.dll
    1 point
  11. Nessie

    NavInfo UDF

    Here is another UDF . With this UDF now you can check if a specified browser/software is installed an you are also able to get what version is in used. Supported Software: Internet Explorer, Mozilla Firefox, Mozilla Thunderbird, Google Chrome, Opera, Safari, Java and Silverlight. Changelog v.1.2.0 (08/05/2013) Fixed Huge code improvements ;Thnks to guinness for the suggestion Fixed Wrong return value if path ends with a backslash ;===================================================== v.1.1.0 (06/04/2013) Added _NavInfo_GetFirefoxLocation Added _NavInfo_GetThunderbirdLocation Added _NavInfo_GetChromeLocation Added _NavInfo_GetOperaLocation Added _NavInfo_GetSafariLocation Added _NavInfo_GetJavaLocation ;===================================================== v.1.0.1 (16/03/2013) Fixed _NavInfo_IsOperaInstalled Thanks to guinness for bug report Added _NavInfo_GetDefaultBrowser Added _NavInfo_GetIEVersion ;===================================================== v.1.0.0 (16/03/2013) Initial Release Here is the current function: ;_NavInfo_GetDefaultBrowser ;_NavInfo_GetIEVersion ;_NavInfo_IsFirefoxInstalled ;_NavInfo_GetFirefoxVersion ;_NavInfo_IsThunderbirdInstalled ;_NavInfo_GetThunderbirdVersion ;_NavInfo_IsChromeInstalled ;_NavInfo_GetChromeVersion ;_NavInfo_IsOperaInstalled ;_NavInfo_GetOperaVersion ;_NavInfo_IsSafariInstalled ;_NavInfo_GetSafariVersion ;_NavInfo_IsJavaInstalled ;_NavInfo_GetJavaVersion ;_NavInfo_IsSilverlightInstalled ;_NavInfo_GetSilverlightVersion Some example: #include "NavInfo.au3" $Default_Browser = _NavInfo_GetDefaultBrowser() If Not @error Then MsgBox(0, "Default Browser", $Default_Browser) EndIf $IE_Version = _NavInfo_GetIEVersion() If Not @error Then MsgBox(0, "Internet Explorer", "Internet Explorer version: " & $IE_Version) EndIf $Is_Firefox = _NavInfo_IsFirefoxInstalled() If $Is_Firefox Then MsgBox(0, "Ok!", "Firefox is installed") Else MsgBox(0, "Ops", "Firefox is not installed on this system") EndIf $Firefox_Version = _NavInfo_GetFirefoxVersion() If Not @error Then MsgBox(0, "Firefox Version", "Firefox Version: " & $Firefox_Version[0] & @CRLF & "Firefox Language: " & $Firefox_Version[1]) EndIf If $Is_Firefox Then $Firefox_Location = _NavInfo_GetFirefoxLocation() MsgBox(0, "Ok!", "The firefox location is: " & $Firefox_Location) EndIf $Is_Thunderbird = _NavInfo_IsThunderbirdInstalled() If $Is_Thunderbird Then MsgBox(0, "Ok!", "Thunderbird is installed") Else MsgBox(0, "Ops", "Thunderbird is not installed on this system") EndIf $Thunderbird_Version = _NavInfo_GetThunderbirdVersion() If Not @error Then MsgBox(0, "Thunderbird Version", "Thunderbird Version: " & $Thunderbird_Version[0] & @CRLF & "Thunderbird Language: " & $Thunderbird_Version[1]) EndIf If $Is_Thunderbird Then $Thunderbird_Location = _NavInfo_GetThunderbirdLocation() MsgBox(0, "Ok!", "The Thunderbird location is: " & $Thunderbird_Location) EndIf $Is_Chrome = _NavInfo_IsChromeInstalled() If $Is_Chrome Then MsgBox(0, "Ok!", "Chrome is installed") Else MsgBox(0, "Ops", "Chrome is not installed on this system") EndIf $Chrome_Version = _NavInfo_GetChromeVersion() If Not @error Then MsgBox(0, "Chrome Version", "Chrome Version: " & $Chrome_Version) EndIf If $Is_Chrome Then $Chrome_Location = _NavInfo_GetChromeLocation() MsgBox(0, "Ok!", "The Chrome location is: " & $Chrome_Location) EndIf $Is_Opera = _NavInfo_IsOperaInstalled() If $Is_Opera Then MsgBox(0, "Ok!", "Opera is installed") Else MsgBox(0, "Ops", "Opera is not installed on this system") EndIf $Opera_Version = _NavInfo_GetOperaVersion() If Not @error Then MsgBox(0, "Opera Version", "Opera version: " & $Opera_Version) EndIf If $Is_Opera Then $Opera_Location = _NavInfo_GetOperaLocation() MsgBox(0, "Ok!", "The Opera location is: " & $Opera_Location) EndIf $Is_Safari = _NavInfo_IsSafariInstalled() If $Is_Safari Then MsgBox(0, "Ok!", "Safari is installed") Else MsgBox(0, "Ops", "Safari is not installed on this system") EndIf $Safari_Version = _NavInfo_GetSafariVersion() If Not @error Then MsgBox(0, "Safari Version", "Safari Version: " & $Safari_Version) EndIf If $Is_Safari Then $Safari_Location = _NavInfo_GetSafariLocation() MsgBox(0, "Ok!", "The Safari location is: " & $Safari_Location) EndIf $Is_Java = _NavInfo_IsJavaInstalled() If $Is_Java Then MsgBox(0, "Ok!", "Java is installed") Else MsgBox(0, "Ops", "Java is not installed on this system") EndIf $Java_Version = _NavInfo_GetJavaVersion() If Not @error Then MsgBox(0, "Java Version", "Java version: " & $Java_Version) EndIf If $Is_Java Then $Java_Location = _NavInfo_GetJavaLocation() MsgBox(0, "Ok!", "The Java location is: " & $Java_Location) EndIf $Is_Silverlight = _NavInfo_IsSilverlightInstalled() If $Is_Silverlight Then MsgBox(0, "Ok!", "Silverlight is installed") Else MsgBox(0, "Ops", "Silverlight is not installed on this system") EndIf $Silverlight_Version = _NavInfo_GetSilverlightVersion() If Not @error Then MsgBox(0, "Silverlight Version", "Silverlight Version: " & $Silverlight_Version) EndIf Previous download: 48 Hi! NavInfo v.1.2.0.rar
    1 point
×
×
  • Create New...