<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>모바일 작업 자동화</title>
		<link rel="alternate" type="text/html" hreflang="ko" href="https://autolabs.co.kr/board_lmmH16"/>
	<link rel="self" type="application/atom+xml" href="https://autolabs.co.kr/board_lmmH16/atom"/>
	<updated>2026-04-27T02:26:13+09:00</updated>
	<id>https://autolabs.co.kr/board_lmmH16/atom</id>
	<generator>Rhymix</generator>
		<entry>
		<title>오토핫키와 PostMessage를 이용한 LDPlayer 비활성 마우스 클릭</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_lmmH16/1056944"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_lmmH16/1056944#comment"/>		<id>https://autolabs.co.kr/board_lmmH16/1056944</id>
		<published>2023-01-10T21:14:46+09:00</published>
		<updated>2023-01-11T18:27:23+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">이번 포스팅에서는 LDPlayer의 윈도우가 활성/비활성 상태 일때도 마우스 클릭을 할 수 있는 방법에 대해서 알아봅니다. MouseClick 오토핫키 언어에서는 마우스를 제어하기 위한 API 함수를 기본적으로 제공하고 있습니다. 마우스 클릭을 위한 MouseClick, 마우스 이동을 위한 MouseMove 등이 제공되고 있습니다. 하지만 이 API 함수들은 대상 윈도우가 다른 윈도우에 가려져 비활성 상태일때는 정상적으로 동작하기가 어렵습니다....</summary>
	<content type="html">&lt;p&gt;&lt;img alt=&quot;유튜브 썸네일.png&quot; src=&quot;https://autolabs.co.kr/files/attach/images/866094/944/056/001/f88c031e6b1a5075bcac60d70ce9014d.png&quot; /&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;이번 포스팅에서는 LDPlayer의 윈도우가 활성/비활성 상태 일때도 마우스 클릭을 할 수 있는 방법에 대해서 알아봅니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;MouseClick&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;오토핫키 언어에서는 마우스를 제어하기 위한 API 함수를 기본적으로 제공하고 있습니다. 마우스 클릭을 위한 MouseClick, 마우스 이동을 위한 MouseMove 등이 제공되고 있습니다. 하지만 이 API 함수들은 대상 윈도우가 다른 윈도우에 가려져 비활성 상태일때는 정상적으로 동작하기가 어렵습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;ControlSend&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;오토핫키에서는 이런 문제를 해결하기 위해 ControlSend라고 하는 API 함수를 제공합니다. 하지만 ControlSend 함수는 대상 윈도우의 활성/비활성 상태에 따라 동작이 잘 안되는 현상이 빈번하게 발생하는 문제가 있습니다. SetControlDelay, NA, DetectHiddenWindows 옵션을 윈도우 상태에 따라 적절하게 설정해주어야 합니다. 하지만 가끔 클릭이 먹통이 될 때가 있어 ControlSend는 일부 사용자들에게 불안정한 기능으로 인식되고 있습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;SendMessage&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;SendMessage 와 PostMessage 함수는 대상 윈도우에 직접 윈도우 메시지를 보내는 기능을 합니다. 여기서 윈도우 메시지란? 윈도우 이동, 윈도우 크기 조절, 마우스 왼쪽 버튼 누르기 등을 할 수 있는 메시지를 말합니다. SendMessage는 메시지를 전송 후에 수신받은 쪽에서 메시지가 정상적으로 처리가 완료 될때까지 대기하는 특성을 가지고 있습니다. 이로 인해 송신하는 쪽에서는 모든 작업이 멈추는 블럭(Block) 현상이 발생 할 수도 있습니다. 마우스 클릭과 같이 빠르게 동작해야 하는 메시지를 처리하기에는 부적절한 함수입니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;PostMessage&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;PostMessage는 SendMessage와 다르게 윈도우 메시지를 송신 후에 수신자의 메시지 처리상태를 기다리지 않는 특성을 가지고 있습니다. 쉽게 말해서 대상 윈도우인 LDPlayer의 처리 상태와 무관하게 마우스 클릭 메시지를 빠르게 보낼 수 있습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;TAL_LDPostMouseClick&lt;/h2&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;아래의 소스 코드는 LDPlayer 윈도우에 PostMessage 함수를 이용하여 마우스 클릭 메시지를 발생시키는 업자코연구소에서 제작한 라이브러리 함수 입니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://taskautolab.com/%ec%98%a4%ed%86%a0%ed%95%ab%ed%82%a4%ec%99%80-postmessage%eb%a5%bc-%ec%9d%b4%ec%9a%a9%ed%95%9c-ldplayer-%eb%b9%84%ed%99%9c%ec%84%b1-%eb%a7%88%ec%9a%b0%ec%8a%a4-%ed%81%b4%eb%a6%ad/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size:15px;&quot;&gt;전체 글&amp;nbsp;보러가기&lt;/span&gt;&lt;/a&gt;&amp;nbsp;▶&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;390&quot; src=&quot;https://www.youtube.com/embed/mX_7xEYGKEI&quot; title=&quot;YouTube video player&quot; width=&quot;693&quot;&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;구독과 좋아요 부탁드립니다 ㅎ&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>	<category term="1056990" label="팁/강의" />		</entry><entry>
		<title>오토핫키와 GDI+(GDIP)를 이용한 LDPlayer 비활성 이미지 서치 방법</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_lmmH16/1056900"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_lmmH16/1056900#comment"/>		<id>https://autolabs.co.kr/board_lmmH16/1056900</id>
		<published>2023-01-09T18:59:15+09:00</published>
		<updated>2023-02-06T10:13:00+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">이번 포스팅에서는 LDPlayer의 화면을 오토핫키와 GDI+ 라이브러리를 이용하여 비활성으로 이미지 찾기 방법에 대해서 알아 보겠습니다. 모바일 기기에서 24시간 동안 무거운 앱을 구동하게 되면 발열과 같은 문제가 많이 생깁니다. 이로 인해 LDPlayer와 같은 앱 플레이어를 PC에 설치해서 많이 사용합니다. 앱 플레이어를 통해 앱 사용 시 반복적인 부분이 발생 시 오토핫키 스크립트를 이용하여 자동화 할 필요가 있습니다. 오토...</summary>
	<content type="html">&lt;p&gt;이번 포스팅에서는 LDPlayer의 화면을 오토핫키와 GDI+ 라이브러리를 이용하여 비활성으로 이미지 찾기 방법에 대해서 알아 보겠습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;모바일 기기에서 24시간 동안 무거운 앱을 구동하게 되면 발열과 같은 문제가 많이 생깁니다. 이로 인해 LDPlayer와 같은 앱 플레이어를 PC에 설치해서 많이 사용합니다.&amp;nbsp; 앱 플레이어를 통해 앱 사용 시 반복적인 부분이 발생 시 오토핫키 스크립트를 이용하여 자동화 할 필요가 있습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;오토핫키에서 기본적으로 제공하는 이미지서치(ImageSearch)는 모니터에 표시 되는 화면에서 찾고자 하는 이미지를 찾아 이미지가 위치하는 정보를 사용자에게 알려줍니다. 사용자는 이 정보들을 이용하여 상황을 판단하고, 다음에 수행할 이벤트를 정의할 수 있습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;하지만 기본 이미지서치는 탐색할 대상 윈도우가 다른 윈도우에 겹치지 않고 항상 최상위로 활성화 된 상태에서만 정상적으로 동작합니다. 쉽게 말해 이미지 서치가 수행중일때는 사용자가 다른 작업을 할 수가 없습니다. 사용자가 다른 작업을 하다 보면 자동화 시켜놓은 윈도우 프로그램이 비활성 상태가 되면서 다른 윈도우 프로그램에 의해 가려지게 됩니다. 이로 인해 기존에 작업 중이던 자동화 프로그램이 정상적으로 수행되지 않는 문제가 발생합니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;이런 문제를 해결하기 위해 대상 윈도우가 비활성화 된 상태에서도 화면을 인식하는 방법이 필요합니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://taskautolab.com/?p=12997&quot; target=&quot;_blank&quot;&gt;원문 보러 가기 ▶&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;390&quot; src=&quot;https://www.youtube.com/embed/VaOyKfCe_hI&quot; title=&quot;YouTube video player&quot; width=&quot;693&quot;&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>	<category term="1056990" label="팁/강의" />		</entry></feed>
