<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FWindows_API%2FWindows_API</id>
		<title>VBA/Excel/Access/Word/Windows API/Windows API - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FWindows_API%2FWindows_API"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Windows_API/Windows_API&amp;action=history"/>
		<updated>2026-04-07T09:03:44Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Windows_API/Windows_API&amp;diff=1955&amp;oldid=prev</id>
		<title> в 16:33, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Windows_API/Windows_API&amp;diff=1955&amp;oldid=prev"/>
				<updated>2010-05-26T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:33, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Windows_API/Windows_API&amp;diff=1956&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Windows_API/Windows_API&amp;diff=1956&amp;oldid=prev"/>
				<updated>2010-05-26T12:48:34Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Declaring an External Function to the Compiler==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Declare Function abGetSystemDirectory _&lt;br /&gt;
   Lib &amp;quot;kernel32&amp;quot; _&lt;br /&gt;
   Alias &amp;quot;GetSystemDirectoryA&amp;quot; (ByVal lpBuffer As String, ByVal nSize As Long) _&lt;br /&gt;
   As Long&lt;br /&gt;
Sub WinSysDir()&lt;br /&gt;
   Dim strBuffer As String&lt;br /&gt;
   Dim intLength As Integer&lt;br /&gt;
   Dim strDirectory As String&lt;br /&gt;
   strBuffer = Space$(160)&lt;br /&gt;
   intLength = abGetSystemDirectory(strBuffer, Len(strBuffer))&lt;br /&gt;
   strDirectory = Left(strBuffer, intLength)&lt;br /&gt;
   MsgBox strDirectory&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Playing .Wav files via the Windows API==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Public Declare Function sndPlaySoundA Lib &amp;quot;winmm.dll&amp;quot; (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long&lt;br /&gt;
Public Sub PlayWav(WavFile As String)&lt;br /&gt;
    If Application.CanPlaySounds = False Then&lt;br /&gt;
        MsgBox &amp;quot;Sorry, sound is not supported on your system.&amp;quot;&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
    If Dir(WavFile) = &amp;quot;&amp;quot; Then&lt;br /&gt;
        MsgBox (&amp;quot;Wave file not found&amp;quot;)&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
    sndPlaySoundA WavFile, 1&lt;br /&gt;
End Sub&lt;br /&gt;
Public Sub TestPlayWav1()&lt;br /&gt;
    Dim filePath As String&lt;br /&gt;
    filePath = ActiveWorkbook.Path&lt;br /&gt;
    PlayWav (filePath &amp;amp; &amp;quot;\Sounds\cannon.wav&amp;quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use 32-bit API declaration==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Declare Function GetSystemMetrics Lib &amp;quot;user32&amp;quot; (ByVal nIndex As Long) As Long&lt;br /&gt;
Public Const SM_CXSCREEN = 0&lt;br /&gt;
Public Const SM_CYSCREEN = 1&lt;br /&gt;
Sub DisplayVideoInfo()&lt;br /&gt;
    vidWidth = GetSystemMetrics(SM_CXSCREEN)&lt;br /&gt;
    vidHeight = GetSystemMetrics(SM_CYSCREEN)&lt;br /&gt;
    &lt;br /&gt;
    Debug.Print vidWidth &amp;amp; &amp;quot; X &amp;quot; &amp;amp; vidHeight&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using a Function in a DLL==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    Declare Function GetSystemMetrics Lib &amp;quot;user32&amp;quot; (ByVal nIndex As Long) As Long&lt;br /&gt;
    Public Const SM_SWAPBUTTON = 23&lt;br /&gt;
    Sub ShowHands()&lt;br /&gt;
       If GetSystemMetrics(SM_SWAPBUTTON) = False Then&lt;br /&gt;
           MsgBox &amp;quot;Your mouse is right-handed!&amp;quot;&lt;br /&gt;
       Else&lt;br /&gt;
           MsgBox &amp;quot;Your mouse is left-handed!&amp;quot;&lt;br /&gt;
        End If&lt;br /&gt;
    End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Waiting for an application to end==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Declare Function OpenProcess Lib &amp;quot;kernel32&amp;quot; (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long&lt;br /&gt;
Declare Function GetExitCodeProcess Lib &amp;quot;kernel32&amp;quot; (ByVal hProcess As Long, lpExitCode As Long) As Long&lt;br /&gt;
Sub RunCharMap2()&lt;br /&gt;
    Dim TaskID As Long&lt;br /&gt;
    Dim hProc As Long&lt;br /&gt;
    Dim lExitCode As Long&lt;br /&gt;
    ACCESS_TYPE = &amp;amp;H400&lt;br /&gt;
    STILL_ACTIVE = &amp;amp;H103&lt;br /&gt;
    Program = &amp;quot;Charmap.exe&amp;quot;&lt;br /&gt;
    TaskID = Shell(Program, 1)&lt;br /&gt;
    hProc = OpenProcess(ACCESS_TYPE, False, TaskID)&lt;br /&gt;
    If Err &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
        Debug.Print &amp;quot;Cannot start &amp;quot; &amp;amp; Program, vbCritical, &amp;quot;Error&amp;quot;&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
    Do&lt;br /&gt;
        GetExitCodeProcess hProc, lExitCode&lt;br /&gt;
        DoEvents&lt;br /&gt;
    Loop While lExitCode = STILL_ACTIVE&lt;br /&gt;
End Sub&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>