Jump to content

Issues with compiling a script


aa2zz6
 Share

Recommended Posts

When I run my script pressing F5 everything loads correctly on the website which is embedded in the GUI but when I compile the script to x86 or x64 there are 2 boxes that disappear. Any ideas why compiling a script would cause something from appearing? I'll provide screenshots below.

#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=Example.exe
#AutoIt3Wrapper_Compression=4
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; *** Start added by AutoIt3Wrapper ***
#include <APISysConstants.au3>
#include <StaticConstants.au3>
#include <StructureConstants.au3>
#include <WinAPIConstants.au3>
; *** End added by AutoIt3Wrapper ***
#include-once
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <WinAPIEx.au3>
#include <IE.au3>
#include <Array.au3>
#include <Process.au3>
#include <GUIConstantsEx.au3>


Local $regValue = "0x2AF9"

RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainFeatureControlFEATURE_BROWSER_EMULATION", _ProcessGetName(@AutoItPID), "REG_DWORD", $regValue)
RegWrite("HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerMAINFeatureControlFEATURE_BROWSER_EMULATION", _ProcessGetName(@AutoItPID), "REG_DWORD", $regValue)


; Calculate visible screen dimensions.
$one_percent_width = @DesktopWidth / 100
$one_percent_height = @DesktopHeight / 100
$width = $one_percent_width * 98
$height = $one_percent_height * 91

Global $bAero, $hidden = False, $tuck = False, $tucked = False, $untucked = False, $tucking = False, $untucking = False, $timer = 0, $tdiff = 0, _
$LAYERED_GUI = $WS_EX_LAYERED, $hGUI_child, $hGUI_height = 683, $find = False, $qsInfocus = False
Global Const $hDwmApiDll = DllOpen("dwmapi.dll"), $sChkAero = DllStructCreate("int;")
DllCall($hDwmApiDll, "int", "DwmIsCompositionEnabled", "ptr", DllStructGetPtr($sChkAero))
$bAero = DllStructGetData($sChkAero, 1)
If Not $bAero Then
    $LAYERED_GUI = 0
    $hGUI_height = $hGUI_height - 20
EndIf

$hGUI = GUICreate("", 715, $hGUI_height, -1, 0, $WS_POPUP, $LAYERED_GUI + $WS_EX_TOPMOST, WinGetHandle(AutoItWinGetTitle()))
$hIcon = _WinAPI_GetClassLongEx($hGUI, $GCL_HICON)
_WinAPI_DestroyIcon($hIcon)
_WinAPI_SetClassLongEx($hGUI, $GCL_HICON, 0)
_WinAPI_SetClassLongEx($hGUI, $GCL_HICONSM, 0)

If $bAero Then
    $hGUI_child = GUICreate("", 715-39, 683 - 26, 22,  3, $WS_POPUP, $WS_EX_MDICHILD + $WS_EX_TOPMOST, $hGUI)
    $hGUI_Font = $hGUI_child
Else
    $hGUI_Font = $hGUI
    $hGUI_child = $hGUI
EndIf
GUISetBkColor(0xFFFFFF)
GUISetFont(15, 100, Default, 'Segoe UI', $hGUI_Font, 5)

GUICtrlCreateTab(5, 5, 715, $hGUI_height)
GUICtrlCreateTabItem ( "WebTMS Tickets" )

$address = "https://www.gpsvisualizer.com/draw/"
$oIE = _IECreateEmbedded()
$oIEobj = GUICtrlCreateObj($oIE, 5, 50, 650, $hGUI_height - 80)
;$oNav = _IENavigate($oIE, @ScriptDir & '/contactlist.html', 0)
$oNav = _IENavigate($oIE, $address)
$oIE.document.body.scroll = "no"

$oIE.document.body.style.overflow = "hidden"
$hENTER = GUICtrlCreateDummy()
Dim $AccelKeys[1][2]=[["{ENTER}", $hENTER]]
GUISetAccelerators($AccelKeys)

$hGUI_child2 = GUICreate("", 112, 50, 280, 645, $WS_POPUP, $LAYERED_GUI + $WS_EX_MDICHILD + $WS_EX_TOPMOST, $hGUI_child)
If Not $bAero Then
    GUISetBkColor(0xE0F2F7)
    $hGUI_Font = $hGUI_child2
    GUISetFont(33, 100, Default, 'Segoe UI', $hGUI_Font, 5)
    GUICtrlCreateLabel(" = ", 0, 0, 112, 50, $SS_CENTER + $SS_CENTERIMAGE)
EndIf
GUISetCursor(0, 1, $hGUI_child2)

If $bAero Then
    _GDIPlus_Startup()
    $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & '\panel.png')
    SetBitmap($hGUI, $hImage)
    $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & '\roundbn.png')
    SetBitmap($hGUI_child2, $hImage)
    _GDIPlus_Shutdown()
EndIf

GUIRegisterMsg($WM_MOUSEWHEEL, "WM_MOUSEWHEEL")
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

GUISetState(@SW_SHOW, $hGUI)
If $bAero Then GUISetState(@SW_SHOW, $hGUI_child)
GUISetState(@SW_SHOW, $hGUI_child2)

While 1
    $mPos = MouseGetPos()
    If BitAnd($hidden, $mPos[1] = 0, $timer = 0) Then
        $timer = TimerInit()
        Sleep(10)
    ElseIf $mPos[1] <> 0 Then
        $timer = 0
        $tdiff = 0
    EndIf
    If $timer <> 0 Then $tdiff = TimerDiff($timer)
    If BitAND($hidden, Not $tucked, $mPos[1] <> 0, Not $tucking) Then
        $tuck = True
        $untucking = False
        $tucking = True
        AdlibRegister("TuckAway", 2500)
    ElseIf BitAND($hidden, $tucked, $mPos[1] = 0, Not $untucking, $tdiff > 450) Then
        $tuck = False
        $tucking = False
        $untucking = True
        AdlibRegister("TuckAway")
    ElseIf BitAND($hidden, Not $tucked, $mPos[1] = 0, $tucking) Then
        AdlibUnRegister("TuckAway")
        $tuck = False
        $tucking = False
    EndIf
    $msg = GUIGetMsg(1)
    Switch $msg[1]
        Case $hGUI
            Switch $msg[0]
                Case $GUI_EVENT_CLOSE, $GUI_EVENT_SECONDARYUP
                    Exit
            EndSwitch
        Case $hGUI_child
            Switch $msg[0]
                Case $GUI_EVENT_CLOSE, $GUI_EVENT_SECONDARYUP
                    Exit
                Case $hENTER
 ;                   If $qsInfocus Then _IESearchText($oIE, GUICtrlRead($qsInput), 1)
            EndSwitch
        Case $hGUI_child2
            Switch $msg[0]
                Case $GUI_EVENT_PRIMARYDOWN
                    If Not $hidden Then
                        HidePanel()
                    Else
                        HidePanel(False)
                    EndIf
            EndSwitch
    EndSwitch
WEnd

Func WM_COMMAND($hWnd, $msg, $wParam, $lParam)
    Local $iCode = BitShift($wParam, 16)
    Local $nIDFrom = BitAND($wParam, 0xFFFF)

    Return $GUI_RUNDEFMSG
EndFunc

Func _IESearchText($oIE, $sFindText, $fNext = 0)
    $docRange = $oIE.document.body.createTextRange()
    $docRange.execCommand("backColor", false, "#ffffff");
    If $sFindText <> '' Then
        If $fNext = 0 Then
            Global $oRange = $oIE.document.body.createTextRange()
        Else
            $oRange.moveStart("character")
        EndIf
        If $oRange.FindText($sFindText) Then
            $oRange.execCommand("backColor", false, "fdee00");
            $oRange.scrollIntoView()
        Else
            $oRange = $oIE.document.body.createTextRange()
        EndIf
    Else
        $oIE.document.parentwindow.scroll(0)
    EndIf
EndFunc

Func WM_MOUSEWHEEL($hWnd, $iMsg, $wParam, $lParam)
    Switch $wParam
        Case 0x00780000
            $oIE.document.parentwindow.scrollBy(0, -150)
        Case 0xFF880000
            $oIE.document.parentwindow.scrollBy(0, 150)
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc

Func HidePanel($hide = True)
    AdlibUnRegister("TuckAway")
    If $hide Then
        $tucked = False
        $untucked = True
        $hidden = True
        For $i = -1 to -663 Step - 1
            WinMove($hGUI, "", Default, $i)
        Next
    Else
        $tucked = False
        $untucked = False
        $hidden = False
        For $i = -664 to -4 Step 1
            WinMove($hGUI, "", Default, $i)
        Next
    EndIf
EndFunc

Func TuckAway()
    If $tuck Then
        $tucking = False
        $untucked = False
        $tucked = True
        For $i = 663 to 695 Step 1
            WinMove($hGUI, "", Default, -$i)
            Sleep(10)
        Next
    Else
        $untucking = False
        $tucked = False
        For $i = 695 to 663 Step - 1
            WinMove($hGUI, "", Default, -$i)
            Sleep(10)
        Next
    EndIf
    AdlibUnRegister("TuckAway")
EndFunc

Func SetBitmap($hGUI, $hImage, $iOpacity = 255)
    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", 1)
    _WinAPI_UpdateLayeredWindow($hGUI, $hGUI, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _WinAPI_ReleaseDC(0, $hScrDC)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteDC($hMemDC)
EndFunc

Script Results

image.png.58ce9baa053b6018472798cc38edf977.png

Compiled Results

image.png.21f6626a839d778cb3919676e7166587.png

Link to comment
Share on other sites

4 minutes ago, Danp2 said:

For me, the boxes don't show up using either method. This is likely due to the browser version used by the embedded control. See this post for a way to update the registry to specify a newer version --

 

Thanks!

 

#include <IE.au3>
#include <Process.au3>
Local $regValue = "0x2AF8"
; IE11 edge mode: 11001 (0x2AF9)
; IE11: 11000 (0x2AF8)
; IE10: 10001 (0x2711)
; IE10: 10000 (0x02710)
; IE 9: 9999 (0x270F)
; IE 9: 9000 (0x2328)
; IE 8: 8888 (0x22B8)
; IE 8: 8000 (0x1F40)
; IE 7: 7000 (0x1B58)

RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", _ProcessGetName(@AutoItPID), "REG_DWORD", $regValue)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", _ProcessGetName(@AutoItPID), "REG_DWORD", $regValue)

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...