<?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_Resources</id>
		<title>VBA/Excel/Access/Word/Windows API/Windows Resources - История изменений</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_Resources"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Windows_API/Windows_Resources&amp;action=history"/>
		<updated>2026-04-06T00:09:14Z</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_Resources&amp;diff=1951&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_Resources&amp;diff=1951&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_Resources&amp;diff=1952&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_Resources&amp;diff=1952&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;==Change the Excel icon==&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 FindWindow Lib &amp;quot;user32&amp;quot; Alias &amp;quot;FindWindowA&amp;quot; ( ByVal ClassName As String, ByVal WindowName As String) As Long&lt;br /&gt;
Declare Function ExtractIcon Lib &amp;quot;shell32.dll&amp;quot; Alias &amp;quot;ExtractIconA&amp;quot; ( ByVal Instance As Long, ByVal ExeFileName As String, ByVal IconIndex As Long) As Long&lt;br /&gt;
Declare Function SendMessage Lib &amp;quot;user32&amp;quot; Alias &amp;quot;SendMessageA&amp;quot; (ByVal hWnd As Long, ByVal Message As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long&lt;br /&gt;
Const WM_SETICON = &amp;amp;H80&lt;br /&gt;
Public Sub SetExcelIcon(ByVal IconPath As String)&lt;br /&gt;
  Dim A As Long&lt;br /&gt;
  Dim hWnd As Long&lt;br /&gt;
  Dim hIcon As Long&lt;br /&gt;
  hWnd = FindWindow(&amp;quot;XLMAIN&amp;quot;, Application.Caption)&lt;br /&gt;
  hIcon = ExtractIcon(0, IconPath, 0)&lt;br /&gt;
  If hIcon &amp;gt; 1 Then&lt;br /&gt;
    Call SendMessage(hWnd, WM_SETICON, True, hIcon)&lt;br /&gt;
    Call SendMessage(hWnd, WM_SETICON, False, hIcon)&lt;br /&gt;
  End If&lt;br /&gt;
End Sub&lt;br /&gt;
Public Sub TestExcelIcon()&lt;br /&gt;
  Call SetExcelIcon(ThisWorkbook.Path + &amp;quot;\myico.ico&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;
==Check mouse button==&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;
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;
==Check Whether an Excel File Is Open on a Network==&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;
Private Declare Function lOpen Lib &amp;quot;kernel32&amp;quot; Alias &amp;quot;_lopen&amp;quot; (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long&lt;br /&gt;
Private Declare Function lClose Lib &amp;quot;kernel32&amp;quot; Alias &amp;quot;_lclose&amp;quot; (ByVal hFile As Long) As Long&lt;br /&gt;
Private Const OF_SHARE_EXCLUSIVE = &amp;amp;H10&lt;br /&gt;
Private Function FileIsOpen(strFullPath_FileName As String) As Boolean&lt;br /&gt;
    Dim hdlFile As Long&lt;br /&gt;
    Dim lastErr As Long&lt;br /&gt;
    hdlFile = -1&lt;br /&gt;
    hdlFile = lOpen(strFullPath_FileName, OF_SHARE_EXCLUSIVE)&lt;br /&gt;
    If hdlFile = -1 Then&lt;br /&gt;
        lastErr = Err.LastDllError&lt;br /&gt;
    Else&lt;br /&gt;
        lClose (hdlFile)&lt;br /&gt;
    End If&lt;br /&gt;
    FileIsOpen = (hdlFile = -1) And (lastErr = 32)&lt;br /&gt;
End Function&lt;br /&gt;
Sub CheckFileOpen()&lt;br /&gt;
    If FileIsOpen(&amp;quot;C:\C.xlsx&amp;quot;) Then&lt;br /&gt;
        MsgBox &amp;quot;File is open&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    Else&lt;br /&gt;
        MsgBox &amp;quot;File is not open&amp;quot;&lt;br /&gt;
    End If&lt;br /&gt;
    &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;
==Clipping and Unclipping the Cursor==&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;
    Type RECT&lt;br /&gt;
       Left As Long&lt;br /&gt;
       Top As Long&lt;br /&gt;
       Right As Long&lt;br /&gt;
       Bottom As Long&lt;br /&gt;
    End Type&lt;br /&gt;
    &lt;br /&gt;
    Declare Function ClipCursor Lib &amp;quot;user32&amp;quot; (lpRect As Any) As Long&lt;br /&gt;
    &lt;br /&gt;
    Sub cmdClip()&lt;br /&gt;
        Dim rectClipArea As RECT&lt;br /&gt;
        Dim lngRetVal As Long&lt;br /&gt;
     &lt;br /&gt;
        With rectClipArea&lt;br /&gt;
           .Top = 200&lt;br /&gt;
           .Left = 100&lt;br /&gt;
           .Bottom = 420&lt;br /&gt;
           .Right = 280&lt;br /&gt;
        End With&lt;br /&gt;
     &lt;br /&gt;
        lngRetVal = ClipCursor(rectClipArea)&lt;br /&gt;
     &lt;br /&gt;
     End Sub&lt;br /&gt;
     &lt;br /&gt;
     Private Sub cmdUnclip()&lt;br /&gt;
        Dim lngRetVal As Long&lt;br /&gt;
        lngRetVal = ClipCursor(ByVal 0&amp;amp;)&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;
==Custom About Dialog==&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 ShellAbout Lib &amp;quot;shell32.dll&amp;quot; Alias &amp;quot;ShellAboutA&amp;quot; (ByVal hwnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As Long&lt;br /&gt;
Declare Function GetActiveWindow Lib &amp;quot;user32&amp;quot; () As Long&lt;br /&gt;
Sub AboutMrExcel()&lt;br /&gt;
    Dim hwnd As Integer&lt;br /&gt;
    On Error Resume Next&lt;br /&gt;
    hwnd = GetActiveWindow()&lt;br /&gt;
    ShellAbout hwnd, nm, &amp;quot; Consulting&amp;quot; + vbCrLf, 0&lt;br /&gt;
    On Error GoTo 0&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;
==Disable the X for Closing a Userform==&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;
Private Declare Function FindWindow Lib &amp;quot;user32&amp;quot; Alias &amp;quot;FindWindowA&amp;quot; (ByVal lpClassName As String, ByVal lpWindowName As String) As Long&lt;br /&gt;
Private Declare Function GetSystemMenu Lib &amp;quot;user32&amp;quot; (ByVal hWnd As Long, ByVal bRevert As Long) As Long&lt;br /&gt;
Private Declare Function DeleteMenu Lib &amp;quot;user32&amp;quot; (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long&lt;br /&gt;
Private Const SC_CLOSE As Long = &amp;amp;HF060&lt;br /&gt;
Private Sub Main()&lt;br /&gt;
    Dim hWndForm As Long&lt;br /&gt;
    Dim hMenu As Long&lt;br /&gt;
    &lt;br /&gt;
    hWndForm = FindWindow(&amp;quot;ThunderDFrame&amp;quot;, &amp;quot;title&amp;quot;)  &amp;quot;XL2000&lt;br /&gt;
    hMenu = GetSystemMenu(hWndForm, 0)&lt;br /&gt;
    DeleteMenu hMenu, SC_CLOSE, 0&amp;amp;&lt;br /&gt;
End Sub&lt;br /&gt;
Playing Sounds&lt;br /&gt;
Public Declare Function PlayWavSound Lib &amp;quot;winmm.dll&amp;quot; Alias &amp;quot;sndPlaySoundA&amp;quot; (ByVal LpszSoundName As String, ByVal uFlags As Long) As Long&lt;br /&gt;
Public Sub PlaySound()&lt;br /&gt;
    Dim SoundName As String&lt;br /&gt;
    &lt;br /&gt;
    SoundName = &amp;quot;C:\s.wav&amp;quot;&lt;br /&gt;
    PlayWavSound SoundName, 0&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;
==Find window by class name==&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 FindWindow Lib &amp;quot;user32&amp;quot; Alias &amp;quot;FindWindowA&amp;quot; (ByVal ClassName As String,ByVal WindowName As String) As Long&lt;br /&gt;
Declare Function GetWindowRect Lib &amp;quot;user32&amp;quot; (ByVal hWnd As Long,Rect As Rect) As Long&lt;br /&gt;
Private Type Rect&lt;br /&gt;
  Left As Long&lt;br /&gt;
  Top As Long&lt;br /&gt;
  Right As Long&lt;br /&gt;
  Bottom As Long&lt;br /&gt;
End Type&lt;br /&gt;
Public Sub ShowExcelWindowSize()&lt;br /&gt;
  Dim hWnd As Long, aRect As Rect&lt;br /&gt;
  hWnd = FindWindow(&amp;quot;XLMAIN&amp;quot;, Application.Caption)&lt;br /&gt;
  Call GetWindowRect(hWnd, aRect)&lt;br /&gt;
  Debug.Print &amp;quot; Left: &amp;quot; &amp;amp; aRect.Left &lt;br /&gt;
  Debug.Print &amp;quot; Right: &amp;quot; &amp;amp; aRect.Right &lt;br /&gt;
  Debug.Print &amp;quot; Top: &amp;quot; &amp;amp; aRect.Top&lt;br /&gt;
  Debug.Print &amp;quot; Bottom: &amp;quot; &amp;amp; aRect.Bottom &lt;br /&gt;
  Debug.Print &amp;quot; Width: &amp;quot; &amp;amp; (aRect.Right - aRect.Left) &lt;br /&gt;
  Debug.Print &amp;quot; Height: &amp;quot; &amp;amp; (aRect.Bottom - aRect.Top)&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;
==Freeze a window==&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;
Option Explicit&lt;br /&gt;
Private Declare Function FindWindow Lib &amp;quot;user32&amp;quot; Alias &amp;quot;FindWindowA&amp;quot; ( ByVal ClassName As String, ByVal WindowName As String) As Long&lt;br /&gt;
Private Declare Function LockWindowUpdate Lib &amp;quot;user32&amp;quot; (ByVal hwndLock As Long) As Long&lt;br /&gt;
Public Sub Freeze(Form As UserForm)&lt;br /&gt;
  Dim hwnd As Long&lt;br /&gt;
    &lt;br /&gt;
  If Val(Application.Version) &amp;gt;= 9 Then&lt;br /&gt;
    hwnd = FindWindow(&amp;quot;ThunderDFrame&amp;quot;, Form.Caption)&lt;br /&gt;
  Else&lt;br /&gt;
    hwnd = FindWindow(&amp;quot;ThunderXFrame&amp;quot;, Form.Caption)&lt;br /&gt;
  End If&lt;br /&gt;
  If hwnd &amp;gt; 0 Then LockWindowUpdate hwnd&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;
==Get color depth==&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;
Private Const BITSPIXEL = 12&lt;br /&gt;
Private Const LOGPIXELSX = 88&lt;br /&gt;
Private Declare Function ReleaseDC Lib &amp;quot;user32&amp;quot; (ByVal hwnd As Long, ByVal hDC As Long) As Long&lt;br /&gt;
Private Declare Function GetDC Lib &amp;quot;user32&amp;quot; (ByVal hwnd As Long) As Long&lt;br /&gt;
Private Declare Function GetDeviceCaps Lib &amp;quot;Gdi32&amp;quot; (ByVal hDC As Long, ByVal Index As Long) As Long&lt;br /&gt;
Sub Main()&lt;br /&gt;
  Dim hDC As Long&lt;br /&gt;
  hDC = GetDC(0)&lt;br /&gt;
  ColourDepth = GetDeviceCaps(hDC, BITSPIXEL)&lt;br /&gt;
  Call ReleaseDC(0, hDC)&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;
==Get DC and release it==&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;
Private Const BITSPIXEL = 12&lt;br /&gt;
Private Const LOGPIXELSX = 88&lt;br /&gt;
Private Declare Function ReleaseDC Lib &amp;quot;user32&amp;quot; (ByVal hwnd As Long, ByVal hDC As Long) As Long&lt;br /&gt;
Private Declare Function GetDeviceCaps Lib &amp;quot;Gdi32&amp;quot; (ByVal hDC As Long, ByVal Index As Long) As Long&lt;br /&gt;
Sub Main()&lt;br /&gt;
  Dim hDC As Long&lt;br /&gt;
  hDC = GetDC(0)&lt;br /&gt;
  PointsPerPixel = 72 / GetDeviceCaps(hDC, LOGPIXELSX)&lt;br /&gt;
  Call ReleaseDC(0, hDC)&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;
==Get execuatable file name from a given file name==&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;
Private Declare Function FindExecutableA Lib &amp;quot;shell32.dll&amp;quot; (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long&lt;br /&gt;
Function GetExecutable(strFile As String) As String&lt;br /&gt;
    Dim strPath As String&lt;br /&gt;
    Dim intLen As Integer&lt;br /&gt;
    strPath = String(255, 0)&lt;br /&gt;
    intLen = FindExecutableA(strFile, &amp;quot;\&amp;quot;, strPath)&lt;br /&gt;
    If intLen &amp;gt; 32 Then&lt;br /&gt;
        GetExecutable = Left(strPath, intLen)&lt;br /&gt;
     Else&lt;br /&gt;
        GetExecutable = &amp;quot;&amp;quot;&lt;br /&gt;
     End If&lt;br /&gt;
End Function&lt;br /&gt;
Sub GetFileName()&lt;br /&gt;
    Dim fname As String&lt;br /&gt;
    fname = Application.GetOpenFilename&lt;br /&gt;
    Debug.Print GetExecutable(fname)&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;
==Get screen width and height==&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;
Private Declare Function GetSystemMetrics Lib &amp;quot;user32&amp;quot; (ByVal Index As Long) As Long&lt;br /&gt;
Private Const SM_CXSCREEN As Long = 0&lt;br /&gt;
Private Const SM_CYSCREEN As Long = 1&lt;br /&gt;
Public Sub ShowScreenDimensions()&lt;br /&gt;
   Dim X As Long&lt;br /&gt;
   Dim Y As Long&lt;br /&gt;
   X = GetSystemMetrics(SM_CXSCREEN)&lt;br /&gt;
   Y = GetSystemMetrics(SM_CYSCREEN)&lt;br /&gt;
   Call MsgBox(&amp;quot;Screen resolution is &amp;quot; &amp;amp; X &amp;amp; &amp;quot;x&amp;quot; &amp;amp; Y)&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;
==Get the computer name==&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;
Private Declare Function GetComputerName Lib &amp;quot;kernel32&amp;quot; Alias &amp;quot;GetComputerNameA&amp;quot; (ByVal Buffer As String, Size As Long) As Long&lt;br /&gt;
Sub Main()&lt;br /&gt;
  Dim Buffer As String * 255&lt;br /&gt;
  Dim Result As Long&lt;br /&gt;
  Dim Length As Long&lt;br /&gt;
  Length = 255&lt;br /&gt;
  Result = GetComputerName(Buffer, Length)&lt;br /&gt;
  If Length &amp;gt; 0 Then ComputerName = Left(Buffer, Length)&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;
==Get user name==&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;
Private Declare Function GetUserName Lib &amp;quot;advapi32.dll&amp;quot; Alias &amp;quot;GetUserNameA&amp;quot; (ByVal Buffer As String, ByRef Size As Long) As Long&lt;br /&gt;
Sub Main()&lt;br /&gt;
  Dim Buffer As String * 255&lt;br /&gt;
  Dim Result As Long&lt;br /&gt;
  Dim Length As Long&lt;br /&gt;
  Length = 255&lt;br /&gt;
    &lt;br /&gt;
  Result = GetUserName(Buffer, Length)&lt;br /&gt;
  If Length &amp;gt; 0 Then UserName = Left(Buffer, Length - 1)&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;
==Get window&amp;quot;s rectangle==&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;
Private Type Rect&lt;br /&gt;
  Left As Long&lt;br /&gt;
  Top As Long&lt;br /&gt;
  Right As Long&lt;br /&gt;
  Bottom As Long&lt;br /&gt;
End Type&lt;br /&gt;
Declare Function GetWindowRect Lib &amp;quot;user32&amp;quot; (ByVal hWnd As Long, ByRef lpRect As Rect) As Long&lt;br /&gt;
Public Sub TestRect()&lt;br /&gt;
  Dim R As Rect&lt;br /&gt;
  Call GetWindowRect(Application.hWnd, R)&lt;br /&gt;
  Debug.Print R.Bottom&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;
==Returns the Windows directory==&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 GetWindowsDirectoryA Lib &amp;quot;kernel32&amp;quot; (ByVal lpBuffer As String, ByVal nSize As Long) As Long&lt;br /&gt;
Sub ShowWindowsDir()&lt;br /&gt;
    Dim WinPath As String&lt;br /&gt;
    Dim WinDir As String&lt;br /&gt;
    WinPath = Space(255)&lt;br /&gt;
    WinDir = Left(WinPath, GetWindowsDirectoryA _&lt;br /&gt;
      (WinPath, Len(WinPath)))&lt;br /&gt;
    MsgBox WinDir, vbInformation, &amp;quot;Windows Directory&amp;quot;&lt;br /&gt;
End Sub&lt;br /&gt;
Function WindowsDir() As String&lt;br /&gt;
    Dim WinPath As String&lt;br /&gt;
    WinPath = Space(255)&lt;br /&gt;
    WindowsDir = Left(WinPath, GetWindowsDirectoryA _&lt;br /&gt;
       (WinPath, Len(WinPath)))&lt;br /&gt;
End Function&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Show Excel Window Size==&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;
Private Const FORMAT_MESSAGE_FROM_SYSTEM As Long = &amp;amp;H1000&lt;br /&gt;
Private Declare Function FindWindow Lib &amp;quot;user32&amp;quot; Alias &amp;quot;FindWindowA&amp;quot; (ByVal ClassName As String, ByVal WindowName As String) As Long&lt;br /&gt;
Declare Function GetWindowRect Lib &amp;quot;user32&amp;quot; (ByVal hWnd As Long,Rect As Rect) As Long&lt;br /&gt;
Private Declare Function FormatMessage Lib &amp;quot;kernel32&amp;quot; Alias &amp;quot;FormatMessageA&amp;quot; (ByVal dwFlags As Long, ByVal Source As Long, ByVal MessageId As Long, ByVal LanguageId As Long, ByVal Buffer As String, ByVal Size As Long, ByVal Arguments As Long) As Long&lt;br /&gt;
Private Type Rect&lt;br /&gt;
  Left As Long&lt;br /&gt;
  Top As Long&lt;br /&gt;
  Right As Long&lt;br /&gt;
  Bottom As Long&lt;br /&gt;
End Type&lt;br /&gt;
Sub ShowExcelWindowSize()&lt;br /&gt;
  Dim hWnd As Long&lt;br /&gt;
  Dim aRect As Rect&lt;br /&gt;
  &lt;br /&gt;
  hWnd = FindWindow(&amp;quot;XLMAIN&amp;quot;, Application.Caption)&lt;br /&gt;
  If hWnd = 0 Then&lt;br /&gt;
    Call MsgBox(LastDLLErrText(Err.LastDllError))&lt;br /&gt;
  Else&lt;br /&gt;
    Call GetWindowRect(hWnd, aRect)&lt;br /&gt;
      Debug.Print &amp;quot; Left: &amp;quot; &amp;amp; aRect.Left &lt;br /&gt;
      Debug.Print &amp;quot; Right: &amp;quot; &amp;amp; aRect.Right &lt;br /&gt;
      Debug.Print &amp;quot; Top: &amp;quot; &amp;amp; aRect.Top&lt;br /&gt;
      Debug.Print &amp;quot; Bottom: &amp;quot; &amp;amp; aRect.Bottom &lt;br /&gt;
      Debug.Print &amp;quot; Width: &amp;quot; &amp;amp; (aRect.Right - aRect.Left) &lt;br /&gt;
      Debug.Print &amp;quot; Height: &amp;quot; &amp;amp; (aRect.Bottom - aRect.Top)&lt;br /&gt;
  End If&lt;br /&gt;
End Sub&lt;br /&gt;
Function LastDLLErrText(ByVal ErrorCode As Long) As String&lt;br /&gt;
  Dim Buffer As String * 255&lt;br /&gt;
  Dim Result As Long&lt;br /&gt;
  Result = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0&amp;amp;, ErrorCode, 0, Buffer, 255, 0)&lt;br /&gt;
  LastDLLErrText = Left(Buffer, Result)&lt;br /&gt;
End Function&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The FindWindow() function finds the first top-level window in the window list that satisfies the specified arguments.==&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 FindWindow Lib &amp;quot;user32.dll&amp;quot; Alias &amp;quot;FindWindowA&amp;quot; (ByVal lpClassName As String, ByVal lpWindowName As String) As Long&lt;br /&gt;
Public Declare Function GetClassName Lib &amp;quot;user32.dll&amp;quot; Alias &amp;quot;GetClassNameA&amp;quot; (ByVal hwnd As Long, ByVal lpClassName As String, nMaxCount As Long) As Long&lt;br /&gt;
Private Sub FindHandle()&lt;br /&gt;
    Dim hForm As Long, rv As Long&lt;br /&gt;
    Dim s As String&lt;br /&gt;
    hForm = FindWindow(vbNullString, &amp;quot;UserForm1&amp;quot;)&lt;br /&gt;
    Debug.Print hForm&lt;br /&gt;
    s = String(256, &amp;quot;x&amp;quot;)   &amp;quot;Creates a string with 256 x&amp;quot;s&lt;br /&gt;
    rv = GetClassName(hForm, s, 255)&lt;br /&gt;
    Debug.Print Left(s, rv)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>