<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=6752&amp;type=atom" />
	<updated>2017-06-21T11:25:06Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=6752</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=116793#p116793" />
			<content type="html"><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?id=12367">http://forum.script-coding.com/viewtopic.php?id=12367</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-06-21T11:25:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=116793#p116793</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=116791#p116791" />
			<content type="html"><![CDATA[<p>Добрый день. <br />Попробовал пример из сообщения <a href="http://forum.script-coding.com/viewtopic.php?pid=56302#p56302">№32</a> и даже с моими &quot;руками&quot; получилось. Подскажите, реализация клиента с возможностью принимать ответы от компьютеров с сервером -то в этом случае уже не обойтись на стороне клиента без кода серверной части?<br />Просто если в сети появился новый РС(скажем, в сети больше 400 машин), установив на него сервер, то без внесения в список адреса этого компьютера на клиенте -клиентская машина (машина админа) знать не будет о новом сервере. Потому, возник вопрос: как автоматически получать список машин? Подумал, что очень удобно будет если машины &quot;серверы&quot; будут отправлять что-то вроде эхо запроса на админскую машину и уже админская машина будет генерировать список РС, на которых стоит сервер. Мне думается здесь и второго зайца убить можно -мы будем знать какие машины живые а какие нет.</p><p>Может кто-то уже реализовал подобное?</p>]]></content>
			<author>
				<name><![CDATA[unKn0wn]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27432</uri>
			</author>
			<updated>2017-06-21T11:04:22Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=116791#p116791</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56433#p56433" />
			<content type="html"><![CDATA[<p>Да, спасибо за внимание&nbsp; к моей проблеме.<br />Копирую через Ultra Vnc.<br />Так как делать это надо редко, то всё устраивает.<br />Александр_, если тебе несложно, намекнул бы куда вот здесь копать?<br /><a href="http://forum.script-coding.com/viewtopic.php?id=6767">http://forum.script-coding.com/viewtopic.php?id=6767</a><br />А насчёт этого топика, то у меня есть целых 2 рабочих решения.<br />Скрипт который определяет по цвету, какой язык выбран, оставлю как запасной.<br />Вдруг выйдет ситуация при которой нельзя будет раскрыть порты.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2012-02-04T13:39:19Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56433#p56433</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56425#p56425" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Да, всё сейчас заработало!!!<br />Наконец-то!!!<br />Это что-то невероятное!</p></blockquote></div><p><a href="http://forum.script-coding.com/viewtopic.php?id=6757">Эта</a> проблема тоже решена?</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-02-04T12:20:57Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56425#p56425</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56424#p56424" />
			<content type="html"><![CDATA[<p>Да, всё сейчас заработало!!!<br />Наконец-то!!!<br />Это что-то невероятное!<br />Спасибо за возню со мной!</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2012-02-04T12:04:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56424#p56424</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56422#p56422" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>А чем лучше?</p></blockquote></div><p>Ну у тебя следующая цепочка- &quot;узнать HKL-&gt;узнать язык по HKL-&gt;узнать HKL по языку&quot;, а у меня только &quot;узнать HKL&quot; <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" />. Плюс проверка на смену языка идёт в каждом условии, хотя достаточно один раз проверить.<br />И лучше задержку(Sleep) вставить, какие-нибудь пол секунды погоды не сделают, а процессору работы на порядок меньше.<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Вот весь код.</p></blockquote></div><p>дык этот цикл вообще управления не получает.<br /></p><div class="codebox"><pre><code>if(DllCall(&quot;Ws2_32.dll\connect&quot;, &quot;ptr&quot;, Socket, &quot;ptr&quot;, &amp;SockAddr, &quot;int&quot;, 16)=-1)
{
   if(DllCall(&quot;Ws2_32.dll\WSAGetLastError&quot;)!=WSAEWOULDBLOCK)
   {
      msgbox connect
      goto Clear
   }
}
;если мы сюда попали, то скорее всего всё хорошо.
;точно можно будет сказать когда придёт сообщение с кодом FD_WRITE
;тут и должен выполнятся цикл, следящий за сменой языка
return
Clear:
;сюда мы попадаем если случился косяк.
if(Socket)
   DllCall(&quot;Ws2_32.dll\closesocket&quot;, &quot;ptr&quot;, Socket)
DllCall(&quot;Ws2_32.dll\WSACleanup&quot;)
return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-02-04T11:30:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56422#p56422</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56421#p56421" />
			<content type="html"><![CDATA[<p>А чем лучше?<br />Вот весь код.<br /></p><div class="codebox"><pre><code>AF_INET := 2
SOCK_STREAM := 1
IPPROTO_TCP := 6
WSA_FLAG_OVERLAPPED := 1
WM_USER := 0x400
WM_SOCKET := WM_USER + 1
FD_READ := 0x01 
FD_WRITE := 0x02
FD_OOB := 0x04
FD_ACCEPT := 0x08
FD_CONNECT := 0x10
FD_CLOSE := 0x20
WSAEWOULDBLOCK := 10035
;объявление переменных
VarSetCapacity(WSAData, 108, 0) ;для x86 хватит и 100
Socket := -1
AcceptSocket := -1
VarSetCapacity(SockAddr, 16, 0)
VarSetCapacity(buf, 1024, 0)
;код
DetectHiddenWindows, On
WinGet, hWnd, ID, % &quot;ahk_classAutoHotkey ahk_pid&quot; DllCall(&quot;GetCurrentProcessId&quot;, &quot;uint&quot;)
OnMessage(WM_SOCKET, &quot;DlgProc&quot;, 5)
DllCall(&quot;LoadLibrary&quot;, &quot;str&quot;, &quot;Ws2_32.dll&quot;)
if(DllCall(&quot;Ws2_32.dll\WSAStartup&quot;, &quot;ushort&quot;, 0x0202, &quot;ptr&quot;, &amp;WSAData))
{
   msgbox WSAStartup
   goto Clear
}
Socket := DllCall(&quot;Ws2_32.dll\socket&quot;, &quot;int&quot;, AF_INET, &quot;int&quot;, SOCK_STREAM, &quot;int&quot;, IPPROTO_TCP, &quot;ptr&quot;)
if(Socket=-1)
{
   msgbox Socket
   goto Clear
}
if(DllCall(&quot;Ws2_32.dll\WSAAsyncSelect&quot;, &quot;ptr&quot;, Socket, &quot;ptr&quot;, hWnd, &quot;uint&quot;, WM_SOCKET, &quot;int&quot;, FD_WRITE|FD_CLOSE, &quot;int&quot;)=-1)
{
   msgbox % &quot;WSAAsyncSelect &quot; . DllCall(&quot;Ws2_32.dll\WSAGetLastError&quot;)
   goto Clear
}
NumPut(AF_INET, &amp;SockAddr, 0, &quot;short&quot;)
NumPut(htons(666), &amp;SockAddr, 2, &quot;ushort&quot;)
NumPut(inet_addr(&quot;192.168.123.254&quot;), &amp;SockAddr, 4, &quot;uint&quot;)
if(DllCall(&quot;Ws2_32.dll\connect&quot;, &quot;ptr&quot;, Socket, &quot;ptr&quot;, &amp;SockAddr, &quot;int&quot;, 16)=-1)
{
   if(DllCall(&quot;Ws2_32.dll\WSAGetLastError&quot;)!=WSAEWOULDBLOCK)
   {
      msgbox connect
      goto Clear
   }
}
return
Clear:
if(Socket)
   DllCall(&quot;Ws2_32.dll\closesocket&quot;, &quot;ptr&quot;, Socket)
DllCall(&quot;Ws2_32.dll\WSACleanup&quot;)
return
 
DlgProc(wParam, lParam, msg, hwnd)
{
   global
   local fd
   if(msg=WM_SOCKET)
   {
      fd := lParam&amp;0xFFFF
      if(fd=FD_WRITE)
      {
         ;можно отправлять, в данном примере проверка этого сообщения опускается
      }
      else if(fd=FD_CLOSE)
      {
         LV_Add(&quot;&quot;, wParam, &quot;FD_CLOSE&quot;)
         DllCall(&quot;Ws2_32.dll\closesocket&quot;, &quot;ptr&quot;, wParam)
         DllCall(&quot;Ws2_32.dll\WSACleanup&quot;)
         ExitApp
      }
   }
}
 
inet_addr(StringWithIP)
{
   ret := RegExMatch(StringWithIP, &quot;^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$&quot;, ArrayWithIP)
   if((ret=&quot;&quot;)||(ret=0))
      return &quot;&quot;
   if((ArrayWithIP1&gt;255)||(ArrayWithIP2&gt;255)||(ArrayWithIP3&gt;255)||(ArrayWithIP4&gt;255))
      return &quot;&quot;
   VarSetCapacity(ip, 4, 0)
   NumPut(ArrayWithIP1, &amp;ip, 0, &quot;uchar&quot;)
   NumPut(ArrayWithIP2, &amp;ip, 1, &quot;uchar&quot;)
   NumPut(ArrayWithIP3, &amp;ip, 2, &quot;uchar&quot;)
   NumPut(ArrayWithIP4, &amp;ip, 3, &quot;uchar&quot;)
   return NumGet(&amp;ip, 0, &quot;uint&quot;)
}
 
htons(port)
{
   if((port&lt;0)||(port&gt;0xFFFF))
      return &quot;&quot;
   return ((port&amp;0xFF)&lt;&lt;8)|(port&gt;&gt;8)
}
 
ChangeLayout(id)
{
   global buf, Socket
   NumPut(1, &amp;buf, 0, &quot;ushort&quot;)
   NumPut(id, &amp;buf, 2, &quot;uint&quot;)
   DllCall(&quot;Ws2_32.dll\send&quot;, &quot;ptr&quot;, Socket, &quot;ptr&quot;, &amp;buf, &quot;int&quot;, 6, &quot;int&quot;, 0)
}

loop
{   
 
 If (InputLayout() = &quot;Russian&quot; and InputLayout() != InputLayout_old)
{
   ChangeLayout(0x4090409)
   InputLayout_old := InputLayout()
}

Else If (InputLayout() = &quot;English&quot; and InputLayout() != InputLayout_old)
{
   ChangeLayout(0x4190419)
   InputLayout_old := InputLayout()
}

Else If (InputLayout() = &quot;Latvian&quot; and InputLayout() != InputLayout_old)
{
   ChangeLayout(0xF0150426)
   InputLayout_old := InputLayout()
}
}

InputLayout()
{
    ThreadID := DllCall(&quot;GetWindowThreadProcessId&quot;, &quot;Int&quot;, WinExist(&quot;A&quot;), &quot;Int&quot;, 0)
    HKL := DllCall(&quot;GetKeyboardLayout&quot;, &quot;uint&quot;, ThreadID, &quot;UShort&quot;)
    VarSetCapacity(sKbd, 260, 0)
    DllCall(&quot;GetLocaleInfo&quot;, &quot;uint&quot;, HKL
                           , &quot;uint&quot;, 0x1001
                           , &quot;str&quot;,  sKbd
                           , &quot;uint&quot;, 260)
    Return sKbd
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2012-02-04T11:08:36Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56421#p56421</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56419#p56419" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>А так?</p></blockquote></div><p>Нормально, но лучше так:<br /></p><div class="codebox"><pre><code>OldLayout := DllCall(&quot;GetKeyboardLayout&quot;, &quot;uint&quot;, DllCall(&quot;GetWindowThreadProcessId&quot;, &quot;Int&quot;, WinExist(&quot;A&quot;), &quot;Int&quot;, 0, &quot;ushort&quot;), &quot;ptr&quot;)
loop
{
   NewLayout := DllCall(&quot;GetKeyboardLayout&quot;, &quot;uint&quot;, DllCall(&quot;GetWindowThreadProcessId&quot;, &quot;Int&quot;, WinExist(&quot;A&quot;), &quot;Int&quot;, 0, &quot;ushort&quot;), &quot;ptr&quot;)
   if(OldLayout!=NewLayout)
   {
      OldLayout := NewLayout
      ChangeLayout(NewLayout)
   }
}</code></pre></div><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Но так тоже не посылает.</p></blockquote></div><p>Это понятно, но причина не в этом фрагменте. Нужен весь скрипт.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-02-04T10:57:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56419#p56419</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56417#p56417" />
			<content type="html"><![CDATA[<p>А так?<br />Но так тоже не посылает.<br /></p><div class="codebox"><pre><code>ChangeLayout(id)
{
   global buf, Socket
   NumPut(1, &amp;buf, 0, &quot;ushort&quot;)
   NumPut(id, &amp;buf, 2, &quot;uint&quot;)
   DllCall(&quot;Ws2_32.dll\send&quot;, &quot;ptr&quot;, Socket, &quot;ptr&quot;, &amp;buf, &quot;int&quot;, 6, &quot;int&quot;, 0)
}

loop
{   
 
 If (InputLayout() = &quot;Russian&quot; and InputLayout() != InputLayout_old)
{
   ChangeLayout(0x4090409)
   InputLayout_old := InputLayout()
}

Else If (InputLayout() = &quot;English&quot; and InputLayout() != InputLayout_old)
{
   ChangeLayout(0x4190419)
   InputLayout_old := InputLayout()
}

Else If (InputLayout() = &quot;Latvian&quot; and InputLayout() != InputLayout_old)
{
   ChangeLayout(0xF0150426)
   InputLayout_old := InputLayout()
}
}

InputLayout()
{
    ThreadID := DllCall(&quot;GetWindowThreadProcessId&quot;, &quot;Int&quot;, WinExist(&quot;A&quot;), &quot;Int&quot;, 0)
    HKL := DllCall(&quot;GetKeyboardLayout&quot;, &quot;uint&quot;, ThreadID, &quot;UShort&quot;)
    VarSetCapacity(sKbd, 260, 0)
    DllCall(&quot;GetLocaleInfo&quot;, &quot;uint&quot;, HKL
                           , &quot;uint&quot;, 0x1001
                           , &quot;str&quot;,  sKbd
                           , &quot;uint&quot;, 260)
    Return sKbd
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2012-02-04T10:31:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56417#p56417</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56416#p56416" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Я всё правильно вписал?<br />Что-то не переключает</p></blockquote></div><p>Этого фрагмента недостаточно. Посылать данные нужно только при смене раскладки, а тут они постоянно отправляются.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-02-04T10:26:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56416#p56416</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56415#p56415" />
			<content type="html"><![CDATA[<p>Я всё правильно вписал?<br />Что-то не переключает<br /></p><div class="codebox"><pre><code>ChangeLayout(id)
{
   global buf, Socket
   NumPut(1, &amp;buf, 0, &quot;ushort&quot;)
   NumPut(id, &amp;buf, 2, &quot;uint&quot;)
   DllCall(&quot;Ws2_32.dll\send&quot;, &quot;ptr&quot;, Socket, &quot;ptr&quot;, &amp;buf, &quot;int&quot;, 6, &quot;int&quot;, 0)
}

loop
{   
If (InputLayout() = &quot;Russian&quot;)
{
   ChangeLayout(0x4090409)
}

Else If (InputLayout() = &quot;English&quot;)
{
   ChangeLayout(0x4190419)
}

Else If (InputLayout() = &quot;Latvian&quot;)
{
   ChangeLayout(0xF0150426)
}
}

InputLayout()
{
    ThreadID := DllCall(&quot;GetWindowThreadProcessId&quot;, &quot;Int&quot;, WinExist(&quot;A&quot;), &quot;Int&quot;, 0)
    HKL := DllCall(&quot;GetKeyboardLayout&quot;, &quot;uint&quot;, ThreadID, &quot;UShort&quot;)
    VarSetCapacity(sKbd, 260, 0)
    DllCall(&quot;GetLocaleInfo&quot;, &quot;uint&quot;, HKL
                           , &quot;uint&quot;, 0x1001
                           , &quot;str&quot;,  sKbd
                           , &quot;uint&quot;, 260)
    Return sKbd
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2012-02-04T10:21:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56415#p56415</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56412#p56412" />
			<content type="html"><![CDATA[<p>Да точно - перенаправил порт, всё заработало.<br />Сейчас привяжу это всё к изменению языка.<br />Спасибо большое!</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2012-02-04T09:58:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56412#p56412</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56409#p56409" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>При запуске в серверной части выходит ошибка bind 10048</p></blockquote></div><p>Скорее всего порт используется другой программой. Полное описание ошибки <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668%28v=vs.85%29.aspx">тут</a>.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-02-04T09:45:23Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56409#p56409</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56407#p56407" />
			<content type="html"><![CDATA[<p>При запуске в серверной части выходит ошибка bind 10048<br />А в клиентской части при попытке пинга пишет 460 FD_CLOSE</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2012-02-04T09:38:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56407#p56407</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация посылания клавиш на удалённом и локальном компьютер]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=56401#p56401" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>А тут я вписываю ip adress:port и не пингуется.<br />Проверял первый вариант вашего скрипта с GUI.<br />Как я понимаю, я не там вписываю порт, в смысле в вашем скрипте.<br />Как тут быть?</p></blockquote></div><p>порт задаётся вторым параметром в структуре <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms740496%28v=vs.85%29.aspx">SockAddr</a>(<span class="bbu">NumPut(htons(<strong>5676</strong>), &amp;SockAddr, 2, &quot;ushort&quot;)</span>).<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>А это что такое?<br />Вот это?<br /><a href="http://en.wikipedia.org/wiki/Text_Services_Framework">http://en.wikipedia.org/wiki/Text_Services_Framework</a><br />И как с ним надо разбираться?</p></blockquote></div><p>Читать документацию и проверять её на практике <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />. Раньше при смене раскладки приходили оконные сообщения, а в WinXP всё через COM сделали.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-02-04T09:11:21Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=56401#p56401</id>
		</entry>
</feed>
