argumentum Posted July 9, 2020 Posted July 9, 2020 21 minutes ago, thedemons said: just need to install DirectX to get it working. True. Did the needless update and it solved it ( not so needless after all ! ) Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
thedemons Posted July 9, 2020 Author Posted July 9, 2020 1 minute ago, argumentum said: True. Did the needless update and it solved it ( not so needless after all ! ) Oh sorry it's my fault, i thought every one had that. I'll update the requirements.
argumentum Posted July 9, 2020 Posted July 9, 2020 <rant>I hate ( hate is a strong word, should not use that word ) that unless ... grrr !! ...unless you install the latest the developer can not work and to support lesser/older versions becomes a problem ..then everyone needs a setup compatible with the developer's setup so stuff work. Is not the developer's fault but ... is like you'd have to code in Win95 to make sure that stuff is cross-MS-versions, but then again may not work in newer setups, .... so ... . What I love, just love, about AutoIt is that I never have to worry about any of that. </rant> Can this be compiled with less requirements ? Like the lowest DirectX and WinXP ? This you put together is beautiful. Plain beautiful. ❤️ But unless drop and run, is a possible problem for a "user level" environment, where to reach an admin to do anything is a problem. Also, do add a Sleep(10) in your example's main loop and a #include-once in the UDF And again, thanks for all this you put together Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
argumentum Posted July 9, 2020 Posted July 9, 2020 (edited) #include-once ; author: thedemons #include <WinAPI.au3> #include <WinAPIDiag.au3> Global $__imgui_created = False Global $__imgui_dllpath = @ScriptDir & "\imgui.dll" If @AutoItX64 Then $__imgui_dllpath = @ScriptDir & "\dll_64\imgui.dll" #cs If @AutoItX64 Then $__imgui_dllpath = "imgui_x64.dll" ; <--- this would be better so that the DLL can be anywhere in a searchable path, say, @SystemDir or what not #ce If Not FileGetSize($__imgui_dllpath) Then MsgBox(16, "Error", "Cannot find imgui.dll" & @CRLF & "Please update to the latest version of DirectX") Exit EndIf Global $IMGUI_DLL = DllOpen($__imgui_dllpath) If $IMGUI_DLL = -1 Then MsgBox(16, "Error", "Cannot load imgui.dll" & @CRLF & "Please update to the latest version of DirectX") Exit EndIf OnAutoItExitRegister(Shutdown_) Func Shutdown_() If $__imgui_created Then _ImGui_ShutDown() DllClose($IMGUI_DLL) ;~ FileDelete($__imgui_dllpath) EndFunc ..this too can make it easier on the user. ( just an idea ) Edit: add a FileVersion to the DLL Edited July 9, 2020 by argumentum Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
Hadin Posted May 5, 2022 Posted May 5, 2022 The dxdiag 10.00.17763 version cannot be started. Can you match earlier versions of DLL files? Thank you very much, if you can, I'm sure there will be more devices available.
Wisok Posted May 29, 2022 Posted May 29, 2022 (edited) I have no problems with the dlls and compiled exes in my computer. But when i compiled a source, the compiled exe doesn't work on other computers which is same as mine. Eventhough directx requirements you mentioned was installed. I checked imgui.ini and i don't see anything related to Viewports. But in my computer i see viewports id. Edited May 29, 2022 by Wisok
MoriceGrene Posted May 30 Posted May 30 sorry i try to use for first time imgui , i want create a simple menu for attach over other program, i not use a autoit gui , because fliker so much , therfore i want test imgui , i have created this code expandcollapse popup#include <WindowsConstants.au3> #include <WinAPI.au3> #include "imgui.au3" Global $sIniPath = @ScriptDir & "\Config.ini" Global $sCommandsPath = IniRead($sIniPath, "MT5_path_exchange", "MT5Pth", "") Global $sToolboxFile = $sCommandsPath & "\toolbox.txt" Global $lastLoadTime = TimerInit() Global $tradeList[1][3] = [[0, "", ""]] _ImGui_EnableViewports() Local $hwnd = _ImGui_GUICreate("", 1, 1, -100, -100, 0, $WS_EX_TOOLWINDOW) _WinAPI_ShowWindow($hwnd) _ImGui_StyleColorsLight() Local $io = _ImGui_GetIO() $io.ConfigWindowsMoveFromTitleBarOnly = True Local $is_first_run = True While 1 If Not _ImGui_PeekMsg() Then Exit _ImGui_BeginFrame() If Not _ImGui_Begin("", True, BitOR( _ $ImGuiWindowFlags_NoTitleBar, _ $ImGuiWindowFlags_NoResize, _ $ImGuiWindowFlags_NoCollapse, _ $ImGuiWindowFlags_NoScrollbar, _ $ImGuiWindowFlags_NoScrollWithMouse _ )) Then Exit If $is_first_run Then $is_first_run = False Local $win_size[] = [800, 30] Local $win_pos_x = 1118 ; PROVA con 10 o qualunque valore Local $win_pos_y = 43 _ImGui_SetWindowPos($win_pos_x, $win_pos_y) _ImGui_SetWindowSize($win_size[0], $win_size[1]) EndIf ; Ricarica dati ogni 150ms If TimerDiff($lastLoadTime) > 150 Then ReloadTrades() $lastLoadTime = TimerInit() EndIf ; Mostra le righe dei trade For $i = 1 To $tradeList[0][0] Local $symbol = $tradeList[$i][0] Local $ticket = $tradeList[$i][1] Local $net = $tradeList[$i][2] Local $text = $symbol & " | " & $net Local $color = (Number($net) < 0) ? 0xFF0000 : 0x009900 ;_ImGui_Text("Hello") if $net < 0 Then _ImGui_TextColored($text,0xFFEB5757) EndIf if $net > 0 Then _ImGui_TextColored($text,0xFF3CA69B) EndIf if $net = 0 Then _ImGui_TextColored($text,0xFF000000) EndIf _ImGui_SameLine() If _ImGui_Button($ticket) Then SendCloseTrade($ticket) EndIf _ImGui_SameLine() Next ; Pulsante "Chiudi tutto" _ImGui_SameLine() If _ImGui_Button("X") Then MsgBox(64, "Chiudi Tutto", "Chiudi tutti i trade.") ; oppure SendCloseAll() EndIf _ImGui_End() _ImGui_EndFrame() WEnd Func ReloadTrades() If Not FileExists($sToolboxFile) Then Return Local $lines = FileReadToArray($sToolboxFile) If @error Then Return ReDim $tradeList[UBound($lines) + 1][3] $tradeList[0][0] = 0 For $i = 0 To UBound($lines) - 1 Local $parts = StringSplit($lines[$i], ",") If $parts[0] <> 3 Then ContinueLoop $tradeList[0][0] += 1 $tradeList[$tradeList[0][0]][0] = $parts[1] $tradeList[$tradeList[0][0]][1] = $parts[2] $tradeList[$tradeList[0][0]][2] = $parts[3] Next EndFunc Func SendCloseTrade($ticket) Local $cmd = "CLOSE," & $ticket Local $cmdFile = $sCommandsPath & "\commands.txt" Local $hFile = FileOpen($cmdFile, 2 + 8) If $hFile <> -1 Then FileWriteLine($hFile, $cmd) FileClose($hFile) MsgBox(64, "Comando inviato", "Chiudi trade #" & $ticket) Else MsgBox(16, "Errore", "Impossibile scrivere nel file di comando.") EndIf EndFunc but when i try to push button X not work , anyone have idea? thanks
argumentum Posted May 30 Posted May 30 (edited) The one who made this was last seen over 4 years ago and had only 9 posts. No a regular in the forum. My advise is to not use this project for avoiding the flicker in your GUI. Edited June 1 by argumentum English Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
TheSaint Posted June 1 Posted June 1 (edited) @thedemons Nice seeming project, that I have just discovered ... seems (seemed) quite promising. So for what it is worth, and although it now seems abandoned, I have added it to the following, in the first post. AutoIt GUI Creators (Designers) Thanks for sharing. Edited June 1 by TheSaint Make sure brain is in gear before opening mouth! Remember, what is not said, can be just as important as what is said. Spoiler What is the Secret Key? Life is like a Donut If I put effort into communication, I expect you to read properly & fully, or just not comment. Ignoring those who try to divert conversation with irrelevancies. If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it. I'm only big and bad, to those who have an over-active imagination. I may have the Artistic Liesense to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)
Nine Posted June 1 Posted June 1 On 5/30/2025 at 9:32 AM, MoriceGrene said: because fliker so much You should consider creating a runnable script that we can actually test. I am sure we could help reducing the flicker, but without complete code, there is limits of what we can do... “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
MoriceGrene Posted November 2 Posted November 2 sorry a question on the fly but ingui library work with autoit 64bit version ? thanks
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now