Olá, estou me aprofundando muito no AHK, adoro fazer esse tipo de "programação" (ver a maquina fazer oque eu quero), é o seguinte:
Estou pensando o seguinte, a algum tempo atras eu pedi ajuda para que o programa clicasse randomicamente em uma parte da tela, ok, consegui fazer com que funcionasse 100% do que eu queria, porém eu sempre precisava testar varias e varias vezes para que aonde que eu quisesse clicar, ou melhor dizendo para que achasse a coordenada certa de onde eu queria , eu vi alguns videos sobre "pixelpredator", o que eu queria desse pixel predator seria, tentar encaixar em meu script, seria a parte para selecionar as coordenadas arrastando com o mouse, como se tivesse criando um quadrado na tela, ou melhor dizendo selecionando um quadrado na tela.
https://imgur.com/gallery/y7olxLx
No caso é a seleção de tela a que me refiro, oque quero fazer com isso é simples.
Que que o script , clique randomicamente no (vamos chamar assim) "Quadrado" que eu selecionei...
Seria isso possivel?
Muito Obrigado.
Uma ideia de como fazer
Moderator: Gio
Re: Uma ideia de como fazer
Boa tarde Guiguiiz.
Que bom que está interessado em aprofundar seus conhecimentos de programação. E já que estamos tratanto de programação...
Praticamente qualquer coisa que você já viu na tela de um computador é possível de ser feita com programação. Sendo assim, um bom exercício para qualquer programador iniciante é desmistificar o pensamento de que precisamos primeiro ser convencidos das possibilidades.
Quando uma ideia parecer complexa demais para implementar, tudo que temos que fazer é dividi-la em passos cada vez menores até que possamos resolvê-los com as ferramentas que já dispomos. Fazemos isso até que as ferramentas que temos disponíveis sirvam para solucionar todas as pequenas partes do problema e é nesse momento que teremos solucionado o problema maior.
No exemplo abaixo, veja como usamos um While-loop com GetKeyState e MouseGetPos para resolver o problema da "seleção de área" com o mouse. Veja também como usamos uma GUI transparente para deixar visível a área da seleção atual.
MODO DE USAR: Segure o botão do windows (o do seu teclado) e depois aperte e segure o botão esquerdo do mouse arrastando-o para baixo e para a direita. Veja como uma área é selecionada. Depois, solte os botões e aperte várias vezes o F2: O mouse se move para várias posições aleatórias dentro da área selecionada. Repita a seleção quantas vezes quiser para alterar a área em que o mouse se movimentará.
OBS: Usei o MouseMove ao invés do clique para que possamos ver mais facilmente o resultado da área selecionada.
OBS2: Peço que altere o título deste tópico para algo mais explicativo do seu conteúdo. Tópicos com descrições genérias como "tenho um problema" ou "preciso de ajuda" não ajudam tanto a organização dos fórums quanto descrições mais específicas dos assuntos, como "Seleionar uma área com o mouse" ou "definir área de cliques com o mouse".
Se tiver alguma dúvida sobre o código acima, basta postar abaixo
Que bom que está interessado em aprofundar seus conhecimentos de programação. E já que estamos tratanto de programação...
... Seria isso possivel?
Praticamente qualquer coisa que você já viu na tela de um computador é possível de ser feita com programação. Sendo assim, um bom exercício para qualquer programador iniciante é desmistificar o pensamento de que precisamos primeiro ser convencidos das possibilidades.
Quando uma ideia parecer complexa demais para implementar, tudo que temos que fazer é dividi-la em passos cada vez menores até que possamos resolvê-los com as ferramentas que já dispomos. Fazemos isso até que as ferramentas que temos disponíveis sirvam para solucionar todas as pequenas partes do problema e é nesse momento que teremos solucionado o problema maior.
No exemplo abaixo, veja como usamos um While-loop com GetKeyState e MouseGetPos para resolver o problema da "seleção de área" com o mouse. Veja também como usamos uma GUI transparente para deixar visível a área da seleção atual.
MODO DE USAR: Segure o botão do windows (o do seu teclado) e depois aperte e segure o botão esquerdo do mouse arrastando-o para baixo e para a direita. Veja como uma área é selecionada. Depois, solte os botões e aperte várias vezes o F2: O mouse se move para várias posições aleatórias dentro da área selecionada. Repita a seleção quantas vezes quiser para alterar a área em que o mouse se movimentará.
Code: Select all
#LButton::
CoordMode, Mouse, Screen
While GetKeyState("Lbutton","P")
{
If (PosX = "")
{
MouseGetPos, PosX, PosY
Pos_X_1 := PosX
Pos_Y_1 := PosY
}
MouseGetPos, PosX, PosY
Pos_X_2 := PosX
Pos_Y_2 := PosY
Gui 99: +AlwaysOnTop -caption +Border +ToolWindow +LastFound +0x40000
Gui, 99: Color, 909090
WinSet, Transparent, 100
W := Pos_X_2 - Pos_X_1
H := Pos_Y_2 - Pos_Y_1
Gui, 99: Show, x%Pos_X_1% y%Pos_Y_1% w%W% h%H%
Sleep, 10
}
PosX := ""
PosY := ""
Gui, 99: Destroy
Return
F2::
If (Pos_X_2 = "")
{
msgbox, 0x10, Erro, Você ainda não selecionou uma área. Segure o botão do windows e arraste o mouse para selecionar uma nova área!
Return
}
Random, POS_X_PARA_USO, %Pos_X_1%, %Pos_X_2%
Random, POS_Y_PARA_USO, %Pos_Y_1%, %Pos_Y_2%
CoordMode, Mouse, Screen
MouseMove, %POS_X_PARA_USO%, %POS_Y_PARA_USO%
Return
OBS: Usei o MouseMove ao invés do clique para que possamos ver mais facilmente o resultado da área selecionada.
OBS2: Peço que altere o título deste tópico para algo mais explicativo do seu conteúdo. Tópicos com descrições genérias como "tenho um problema" ou "preciso de ajuda" não ajudam tanto a organização dos fórums quanto descrições mais específicas dos assuntos, como "Seleionar uma área com o mouse" ou "definir área de cliques com o mouse".
Se tiver alguma dúvida sobre o código acima, basta postar abaixo
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Re: Uma ideia de como fazer
Olá Gio, tudo bem?
Gostei muito da forma como a sua solução foi apresentada, com interface gráfica e tal. Muito prático! Mas eu gostaria de ir além e definir não uma, mas duas áreas diferentes, definir atalhos para cada uma delas (ou uma só pra ambas, sei lá) e fazer com que o mouse se mova entre a posição aleatória 1 e a posição aleatória 2. Entretanto meus skills aqui ainda não muito limitados e, mesmo após várias tentativas, não obtive sucesso algum.
De que forma eu poderia fazer com que seu script salvasse não uma, mas duas áreas distintas? Queria poder, por exemplo, apertar F1 pra mover para esse ponto ALEATORIO_1 e F2 pro ALEATORIO_2.
Gostei muito da forma como a sua solução foi apresentada, com interface gráfica e tal. Muito prático! Mas eu gostaria de ir além e definir não uma, mas duas áreas diferentes, definir atalhos para cada uma delas (ou uma só pra ambas, sei lá) e fazer com que o mouse se mova entre a posição aleatória 1 e a posição aleatória 2. Entretanto meus skills aqui ainda não muito limitados e, mesmo após várias tentativas, não obtive sucesso algum.
De que forma eu poderia fazer com que seu script salvasse não uma, mas duas áreas distintas? Queria poder, por exemplo, apertar F1 pra mover para esse ponto ALEATORIO_1 e F2 pro ALEATORIO_2.
Return to “Ajuda e Suporte Geral”
Who is online
Users browsing this forum: No registered users and 53 guests