Jump to content

Israelks

Membros
  • Content count

    31
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Israelks

  1. Ler conteudo do drive

    Boa tarde, estou fazendo um programa que precisa ler informações de um arquivo .txt que eu colocar hospedado no drive (poderia ser qualquer outro site que permita eu hospedar arquivos, me deem sugestões de outros também, dropbox e onedrive me deram o mesmo resultado) estou tentando algumas formas e a unica que deu certo foi usando o _IE, mas ficou terrivelmente lento essa leitura, sendo assim inviavel para meu programa, e os outros dois nao me retornaram o texto que esta hospedado no drive ("test123456") seguem minhas tentativas: $oIE = _IECreate("https://drive.google.com/open?id=1Cmk5-Mr10CwDcie37sb4AmhHj6D8S9C5") ConsoleWrite(_IEDocReadHTML($oIE)) $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") $oHTTP.Open("GET", "https://drive.google.com/open?id=1Cmk5-Mr10CwDcie37sb4AmhHj6D8S9C5", False) $oHTTP.Send() $oReceived = $oHTTP.ResponseText $oStatusCode = $oHTTP.Status ConsoleWrite($oReceived) ConsoleWrite(BinaryToString(InetRead("https://drive.google.com/open?id=1Cmk5-Mr10CwDcie37sb4AmhHj6D8S9C5",1))) eu estava usando o weebly para hospedar este arquivo .txt e era bem facil de ler usando o InetRead, mas ai eles me baniram por estar usando o site para este proposito, o que viola as regra.
  2. Ler conteudo do drive

    https://www.autoitscript.com/forum/topic/193404-read-text-file-from-web/ << Ajuda que os gringos que deram
  3. Ler conteudo do drive

    Boa noite, o pessoal do forum americano me deu a solução, o que eu fiz foi o seguinte, eu upei um arquivo no drive e gerei um link publico para que qualquer um possa acessar aquele arquivo. o meu unico erro foi usar o link errado, eu estava tentando usar esse link aqui (que é o link que me foi gerado): https://drive.google.com/open?id=1Cmk5-Mr10CwDcie37sb4AmhHj6D8S9C5 mas eu devia ter usado esse aqui: https://drive.google.com/uc?id=1Cmk5-Mr10CwDcie37sb4AmhHj6D8S9C5&export=download e ai pronto, usei o InetRead e funcionou perfeitamente, lembrando que esse arquivo é um arquivo .txt
  4. Run e ShellExecute

    Boas pessoal, eu estou com uma dificuldade aqui... to tentando abrir um jogo que esta instalado no meu pc mas to tendo problemas, usei o Run e o Shellexecute e nenhum dos dois deram certo, Bom, o negocio é o seguinte, o programa abre, mas não funciona direito, (não consegue carregar o plugin do flash) achei estranho isso e dei uma olhada no que tinha de diferente entre quando eu abria o programa pelo autoit, e quando eu clicava no icone que tem na minha area de trabalho, olhando pelo gerenciador de tarefas > processos, percebi que abrindo pelo icone na area de trabalho, juntamente com o jogo, abria outros dois processos (de mesmo nome, QtWebEngineProcess), um bem na hora que abria o jogo e o outro pouco tempo depois, diferente do que acontece quando eu abro pelo autoit, que abria somente uma processo com esse nome, e abria no momento que o autoit abria o jogo, tentei abrir o programa pelo cmd usando o comando start, mas tbm abriu uma vez só esse processo e o jogo continou sem funcionar corretamente a unica forma que eu consegui abrir o jogo sem ser clicando no icone foi pelo "executar" do windows, com ele abriu normalmente o jogo... Minha pergunta é: teria uma terceira forma de abrir um programa sem ser pelo run ou shellexecute? um que simule o "executar" do windows?
  5. Run e ShellExecute

    Olá Manimal, tentei sua sugestão, mas sem sucesso, tentei outras combinações também e parece que nada funciona hahaha Local $iPID = Run('C:\Users\Israel\Seafight\Seafight.exe" description=Play Seafight"', "", @SW_MAXIMIZE) Local $iPID = Run('C:\Users\Israel\Seafight\Seafight.exe "description=Play Seafight"', "", @SW_MAXIMIZE) Local $iPID = Run('C:\Users\Israel\Seafight\Seafight.exe"description=Play Seafight"', "", @SW_MAXIMIZE) Local $iPID = Run('C:\Users\Israel\Seafight\Seafight.exe description="Play Seafight"', "", @SW_MAXIMIZE) Local $iPID = Run('C:\Users\Israel\Seafight\Seafight.exe description=PlaySeafight"', "", @SW_MAXIMIZE)
  6. Run e ShellExecute

    Send("#r") Sleep(1000) ClipPut("C:\Users\" & @UserName & "\Seafight\Seafight.exe description=Play Seafight") Send("^v") Sleep(100) Send("{ENTER}") fazendo um teste, isso ai funcionou perfeitamente...
  7. Run e ShellExecute

    Olá Belini, também não funcionou...
  8. Run e ShellExecute

    O programa não é de automação não, ele somente verifica se a conta está logada ou não, e para isso o programa entra na conta e atualiza as informações e depois mostra o resultado Tentei seu código e também não funcionou... eu também ja tentei sem o description Local $iPID = Run('C:\Users\Israe\Seafight\Seafight.exe', "", @SW_MAXIMIZE) também não foi... eu até pensei em criar um .bat e fazer o programa rodar esse .bat e usar o cmd para abrir, mas o cmd dá o mesmo resultado que o autoit, estou bastante intrigado com isso hahaha
  9. Run e ShellExecute

    Local $iPID = Run("C:\Users\Israel\Seafight\Seafight.exe description=Play Seafight", "", @SW_SHOWMAXIMIZED)
  10. É possivel colocar um Combo em cada linha de um Listview?
  11. ta dando 0 toda vez q seleciono um
  12. Estou procurando nas bandas de lá também hahaha #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GuiListView.au3> #include <Misc.au3> Opt("TrayIconDebug", 1) ; We use ESC to exit the temporary Combo Opt("GUICloseOnESC", 0) ; Set flag to indicate double click in ListView Global $fDblClk = False ; Declare global variables Global $aLV_Click_Info, $hTmp_Combo = 0 ; Open DLL for _IsPressed $dll = DllOpen("user32.dll") ; Create GUI $hGUI = GUICreate("Test", 400, 250) $hListView = _GUICtrlListView_Create($hGUI, "Col 0|Col 1|Col 2", 10, 10, 242, 200) _GUICtrlListView_AddItem($hListView, "Item 00",0) _GUICtrlListView_AddSubItem($hListView, 0, "Item 01", 1) _GUICtrlListView_AddSubItem($hListView, 0, "Item 02", 2) _GUICtrlListView_AddItem($hListView, "Item 10",1) _GUICtrlListView_AddItem($hListView, "Item 20",2) _GUICtrlListView_AddItem($hListView, "Item 30",3) GUISetState() ; Look for double clicks GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE DllClose($dll) Exit EndSwitch ; If a temporary combo exists If $hTmp_Combo <> 0 Then ; If ENTER pressed If _IsPressed("0D", $dll) Then ; Set label to edit content $sText = GUICtrlRead($hTmp_Combo) _GUICtrlListView_SetItemText($hListView, $aLV_Click_Info[0], $sText, $aLV_Click_Info[1]) ; Delete temporary combo GUICtrlDelete($hTmp_combo) $hTmp_Combo = 0 GUICtrlSetState($hListView, $GUI_ENABLE) EndIf ; If ESC pressed If _IsPressed("1B", $dll) Then ; Delete temporary combo GUICtrlDelete($hTmp_Combo) $hTmp_Combo = 0 GUICtrlSetState($hListView, $GUI_ENABLE) EndIf EndIf ; If an item was double clicked If $fDblClk Then $fDblClk = False ; Delete an existing temporary combo GUICtrlDelete($hTmp_Combo) ; Get label position Switch $aLV_Click_Info[1] Case 0 ; On Item $aLV_Rect_Info = _GUICtrlListView_GetItemRect($hListView, $aLV_Click_Info[0], 2) Case Else ; On SubItem $aLV_Rect_Info = _GUICtrlListView_GetSubItemRect($hListView, $aLV_Click_Info[0], $aLV_Click_Info[1]) EndSwitch ; Create temporary combo $hTmp_Combo = GUICtrlCreateCombo("", $aLV_Rect_Info[0] + 10, $aLV_Rect_Info[1] + 10, 100, $aLV_Rect_Info[3] - $aLV_Rect_Info[1]) GUICtrlSetData($hTmp_Combo, "Tom|Dick|Harry") GUICtrlSetState($hListView, $GUI_DISABLE) GUICtrlSetState($hTmp_Combo, BitOR($GUI_FOCUS, $GUI_ONTOP)) EndIf WEnd Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) ; If a combo exists, return immediately If $hTmp_Combo <> 0 Then Return $GUI_RUNDEFMSG Local $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) If HWnd(DllStructGetData($tNMHDR, "hWndFrom")) = $hListView And DllStructGetData($tNMHDR, "Code") = $NM_DBLCLK Then $aLV_Click_Info = _GUICtrlListView_SubItemHitTest($hListView) ; As long as the click was on an item or subitem If $aLV_Click_Info[0] <> -1 Then $fDblClk = True EndIf Return $GUI_RUNDEFMSG EndFunc este foi o melhor exemplo que encontrei, estou fazendo umas mudanças e fazendo do meu jeito!
  13. Problema com InetRead

    Olá, estou tendo um problema com o InetRead, estava usando ele normalmente e me retornava o que eu queria certinho, mas desde ontem que não retorna nada! qual pode ser a possivel causa desse problema? Local $a= InetRead("https://meuarquivoteste.weebly.com/uploads/1/1/6/8/116881805/test.txt",1) Local $b = BinaryToString($a) MsgBox(0,"",$b)
  14. Problema com InetRead

    estive viajando, e so fui conseguir testar agora, a ultima opção funcionou... mais uma vez, muito obrigado Manimal!
  15. Problema com InetRead

    Estou tentando de tudo, e nada parece funcionar... talvez eu devesse mudar o site q to usando para guardar os arquivos, alguem tem uma sugestão de um site gratuito onde eu possa hospedar arquivos de texto e outros tbm? (o weebly me permite hospedar qualquer tipo de arquivo)
  16. Problema com InetRead

    Olá Lsschlieper, Os arquivos são sempre textos, Tentei fazer usando o _IECreate(), e o erro continua o mesmo... certeza de que o computador dele esta bloqueando este acesso, e acho que nao importa o metodo que eu usar, o computador vai continuar bloqueando... estou tentando entender o que o computador pode estar fazendo para bloquear este acesso, e tentar desativar esse bloqueio
  17. Problema com InetRead

    Manimal, Tentei com o firewall desativado, não funcionou... Poderia me ajudar a usar esta biblioteca? estou tendo dificuldades para fazer o script ler as informações no site e me apresentar em seguida
  18. Problema com InetRead

    Olha esse teste aqui: $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") $oHTTP.Open("GET", "https://meuarquivoteste.weebly.com/uploads/1/1/6/8/116881805/test.txt", False) $oHTTP.Send() $oReceived = $oHTTP.ResponseText $oStatusCode = $oHTTP.Status MsgBox(0,"",$oReceived) Ele retorna a informação em varios computadores diferentes que seria esta: mas no meu computador, ele retorna essa informação: o que é a mesma mensagem de erro que eu tenho quando coloco um qualquer coisa que nao seja um site no lugar onde eu coloco o site, por exemplo: $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") $oHTTP.Open("GET", "aaaa", False) $oHTTP.Send() $oReceived = $oHTTP.ResponseText $oStatusCode = $oHTTP.Status MsgBox(0,"",$oReceived) algum palpite sobre esse problema? preciso muito resolver isso! @edit Por alguma razão desconhecida o script está retornando a informação correta no meu computador, mas tem um computador que não funciona, e aparece este mesmo erro
  19. Problema com InetRead

    foi so um exemplo, ja mudei para o site q eu to tentando fazer a conexão, pensei que talvez o windows esteja por alguma razão bloqueando este acesso que antes funcionava e agora nao mais
  20. Sistema de licença

    Boa tarde, Eu desenvolvi um programa e gostaria de colocar um sistema de licença nele, ja pesquisei bastante, baixei o MySQL, tentei fazer algumas coisas, mas nao estou conseguindo avançar nesse sentido... Gostaria de saber o que é preciso fazer para conseguir fazer um sistema desse, eu teria que ter um servidor? como fazer um? como conecta o servidor ao autoit? como conecta o banco de dados ao autoit? Grato desde já. @EDIT Depois de alguns dias de proucura, achei 2 formas alternativas que deram certo. neste https://beamtic.com/http-requests-autoit e neste link https://www.autoitscript.com/autoit3/docs/functions/InetRead.htm eu encontrei o que queria, coloquei um arquivo txt em um site, e fiz o programa ler esse arquivo e comparar com o codigo obtido pela função DriveGetSerial()
  21. Sistema de licença

    Bom, finalizei o sistema ja... também espero que venda bastante e que não consigam me crackear hahaha Muito obrigado por ter me ensinado tanto! aprendi bastante coisa com vc! muito mais do que pensei que fosse aprender
  22. Sistema de licença

    Eu pretendo vender algumas dezenas do software... acho que vale sim a pena o esforço, e também to achando interessante estudar como fazer um bom sistema de licença, e vc tem me ajudado MUITO, so respondendo vc nessa parte: o ruim é DriveGetSerial, é que podem clonar o serial de alguem que tenha a licença e dessa forma vão ter ilimitadas pessoas usando o programa sem eu saber disso! mas no caso de o cliente dizer que trocou a placa mae, eu vou simplesmente apagar o registro antigo dele e adicionar o novo, dessa forma ele continua tendo somente uma copia...
  23. Sistema de licença

    Hm... agora usando a função _WinAPI_UniqueHardwareID, eu n perderia essa liberdade n? porque os possiveis valores de retorno seriam de coisas que podem ser alteradas, como vc colocou a cima, certo? eu estava pensando, se nao teria como eu saber quando o programa abre e quando ele fecha, assim, eu poderia usar a função DriveGetSerial, porque se alguem trocar o serial dele por o de outra pessoa que tenha o registro, eu iria ver que tem 2 programas usando o mesmo serial ao mesmo tempo... mas do jeito que eu to fazendo, o programa simplesmente lê o arquivo txt que contem o serial dos usuarios registrados de um site, dessa forma n vai ter como eu saber se tem 2 pessoas com o mesmo serial, teria que mudar isso... respondendo a sua pergunta, vc quer saber o que o programa faz, certo? ele fica lendo durante algumas horas algumas informações na tela de um jogo, e depois de um tempo ele faz um "relatorio" das coisas que leu para a pessoa saber o que se passou
  24. Sistema de licença

    Manimal, estou com um problema, estou agora usando esta função que vc me passou, mas ao rodar o programa na maquina virtual que eu tenho aqui, ele nao retorna nada, preciso que isso funcione nas maquinas virtuais também... olha o print aqui: https://image.prntscr.com/image/eITXoje_Tq2mI8hcjAk9zg.png ja esse codigo aqui: #include <Crypt.au3> MsgBox(4096, '', _GetHWID()) Func _GetHWID() Local $aDrives = DriveGetDrive('FIXED'), $sOutput = '' If @error = 0 Then For $i = 1 To $aDrives[0] $sOutput &= DriveGetSerial($aDrives[$i]) Next EndIf $aDrives = DriveGetDrive('CDROM') If @error = 0 Then For $i = 1 To $aDrives[0] $sOutput &= DriveGetSerial($aDrives[$i]) Next EndIf Local $aMemory = MemGetStats() $sOutput &= @OSVersion & @OSBuild & @OSArch & @CPUArch & @KBLayout & $aMemory[1] $aMemory = 0 $sOutput = StringStripWS($sOutput, 8) Local $sHash = StringTrimLeft(_Crypt_HashData($sOutput, $CALG_MD5), 2) Return '{' & StringMid($sHash, 1, 8) & '-' & StringMid($sHash, 9, 4) & '-' & StringMid($sHash, 13, 4) & '-' & StringMid($sHash, 17, 4) & '-' & StringMid($sHash, 21, 12) & '}' EndFunc ;==>_GetHWID me retornou dois valores distintos, um para a maquina virtual, e outro para o pc normal, o que gera uma estranheza para mim, pois se fosse para gerar codigo na maquina virtual, este teria que ser igual ao da maquina normal, certo? mas isso também seria ruim para mim, porque neste caso a pessoa teria varias licenças, era só ter varias maquinas virtuais. agora eu estou com um problema, se eu usar o seu codigo, ele nao retorna nada na maquina virtual, (o que impossibilita do programa ser usado la, preciso que funcione lá tbm) mas se eu usar outro que retorne um serial diferente, este serial nao será o serial fisico, correto? teria então alguma forma de eu conseguir um codigo unico vindo das maquinas virtuais?
  25. Sistema de licença

    Manimal, eu observei que ao usar essa função usando #RequireAdmin me retornou um valor diferente de quando eu não usava o #RequireAdmin, sabe me explicar porque isso? penso que como deu 2 valores diferentes, usando o #RequireAdmin pode ser mais seguro...
×