GetMenuItemID
Private Declare Function GetMenuItemID Lib "user32.dll" (ByVal hMenu As Long, ByVal nPos As Long) As Long
اين تابع ID يک آيتم از يک منو را به دست مي آورد
اگر تابع با خطايي مواجه شود مقدار بازگشتي صفر و در غير اينصورت مقدار بازگشتي ID منوي مورد نظر خواهد بود

hMenu : يک اشاره گر از منوي مورد نظر
nPos : محل آيتم مورد نظر


GetMenuItemRect
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function GetMenuItemRect Lib "user32.dll" (ByVal hwnd As Long, ByVal hMenu As Long, ByVal uItem As Long, lprcItem As RECT) As Long
اين تابع چهارچوب يک آيتم از يک منو را به دست مي آورد
اگر تابع کار خود را با موفقيت به پايان برساند مقدار بازگشتي يک عدد غير صفر و اگر تابع با خطايي مواجه شود مقدار بر گشتي صفر خواهد بود

hwnd : هندل پنجره اي که منوي مورد نظر در آن قرار دارد
hMenu : يک اشاره گر از منوي مورد نظر
uItem : شماره آيتم مورد نظر (شماره اولين آيتم صفر است)
RECT : اين بافر که از نوع چهارچوب (RECT) است توسط تابع مقدار دهي مي شود و حاوي چهار چوب منوي مورد نظر خواهد بود
GetParent

Private Declare Function GetParent Lib "user32.dll" (ByVal hwnd As Long) As Long
اين تابع پنجره مادر يک پنجره دلخواه را به دست مي آورد
اگر تابع با خطايي مواجه شود مقدار بازگشتي صفر و در غير اينصورت مقدار بازگشتي هندل پنجره مادر خواهد بود

hwnd : هندل پنجره مورد نظر


GetProfileDirectoryA
Private Declare Function GetProfileDirectoryA Lib "usernv.dll" (ByVal lpProfileDir As String, lpcchSize As Long) As Boolean
اين تابع مسير تنظيمات کاربران مختلف را بر مي گرداند( Document and Settings )
گر تابع کار خود را با موفقيت به پايان برساند مقدار بازگشتي True و اگر تابع با خطايي مواجه شود مقدار بر گشتي False خواهد بود

lpProfileDir : اين بافر توسط تابع مقدار دهي مي شود و حاوي مسير پوشه مورد نظر خواهد بود
lpcchSize : اين متغير طول بافر lpProfileDir را بيان مي کتد




GetRgnBox

Private Const NULLREGION = 1
Private Const SIMPLEREGION = 2
Private Const COMPLEXREGION = 3
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function GetRgnBox Lib "gdi32.dll" (ByVal hRgn As Long, ByVal lpRect As RECT) As Long
اين تابع يک محدوده (Region) را به يک چهار چوب (RECT) تبديل مي کند
اگر تابع با خطايي مواجه شود مقدار بر گشتي صفر بود و در غير اينصورت يکي از موارد زير خواهد بود
NULLREGION : محدوده مورد نظر چهار گوش است
SIMPLEREGION : محدوده مورد نظر خالي است
COMPLEXREGION : محدوده مورد نظر چهار گوش نيست

hRgn : يک اشاره گر از محدوده مورد نظر
lpRect : اين بافر که از نوع RECT است توسط تابع مقدار دهي مي شود و حاوي چهارچوب مربوطع خواهد بود



GetShortPathNameA

Private Declare Function GetShortPathNameA Lib "kernel32.dll" (ByVal lpszLongPath As String, ByVal lpzShortPath As String) As Long
اين تابع يک مسير بلند را به مسير کوتاه تبديل مي کند
اگر تابه با خطايي مواجه شود مقدار برگشتي صفر خواهد بود در غير اينصورت تابع مقدار بافر مسير کوتاه را بر مي گرداند

lpzLongPath : مسير بلند که توسط شما بايد به تابع داده شود
lpzShortPath : مسير کوتاه که توسط تابع مقدار دهي مي شود


GetSubMenu
Private Declare Function GetSubMenu Lib "user32.dll" (ByVal hMenu As Long, ByVal nPos As Long) As Long
اين تابع يک اشاره گر از زير منوي موجود در يک منوي ديگر بر مي گرداند
اگر تابع با خطايي مواجه شود مقدار بازگشتي صفر و در غير اينصورت مقدار بازگشتي يک اشاره گر از زير منوي موجود خواهد بود

hMenu : يک اشاره گر از منوي مورد نظر
nPos : اين متغير مشخص مي کند تابع جستجوي زير منو را از کدام آيتم منو شروع کند. براي مثال اگر مقدار اين متغير را صفر قرار دهيد تابع اشاره گر اولين زير منو را بر مي گرداند (شماره اولين آيتم موجود در منو صفر است)


GetSysColor

Private Const COLOR_SCROLLBAR = 0
Private Const COLOR_BACKGROUND = 1
Private Const COLOR_ACTIVECAPTION = 2
Private Const COLOR_INACTIVECAPTION = 3
Private Const COLOR_MENU = 4
Private Const COLOR_WINDOW = 5
Private Const COLOR_WINDOWFRAME = 6
Private Const COLOR_MENUTEXT = 7
Private Const COLOR_WINDOWTEXT = 8
Private Const COLOR_CAPTIONTEXT = 9
Private Const COLOR_ACTIVEBORDER = 10
Private Const COLOR_INACTIVEBORDER = 11
Private Const COLOR_APPWORKSPACE = 12
Private Const COLOR_HIGHLIGHT = 13
Private Const COLOR_HIGHLIGHTTEXT = 14
Private Const COLOR_BTNFACE = 15
Private Const COLOR_BTNSHADOW = 16
Private Const COLOR_GRAYTEXT = 17
Private Const COLOR_BTNTEXT = 18
Private Const COLOR_INACTIVECAPTIONTEXT = 19
Private Const COLOR_BTNHIGHLIGHT = 20
Public Declare Function GetSysColor Lib "user32.dll" (ByVal nIndex As Long) As Long
اين تابع رنگ قسمت هاي مختلف ويندوز را بر مي گرداند ( در ويژوال بيسيک ثابت هاي ذخيره شده اي تحت نام SystemColorConstants وجود داند که دقيقاً همين کار را انجام مي دهند )
اگر تابع کار خود را با موفقيت به پايان برساند مقدار بازگشتي يک عدد غير صفر و اگر تابع با خطايي مواجه شود مقدار بر گشتي صفر خواهد بود

nIndex : ايندکس قسمتي که بايد رنگ آن توسط تابع برگردانده شود ( ثابت هاي زير به شما کمک خواهد کرد )
COLOR_SCROLLBAR : رنگ اسکرول بار
COLOR_BACKGROUND : رنگ پس زمينه ويندوز
COLOR_ACTIVECAPTION : عنوان پنجره فعال
COLOR_INACTIVECAPTION : عنوان پنجره غير فعال
COLOR_MENU : رنگ منو
COLOR_WINDOW : رنگ پنجره
COLOR_WINDOWFRAME : حاشيه پنجره
COLOR_MENUTEXT : نوشته منو
COLOR_WINDOWTEXT : نوشته پنجره
COLOR_CAPTIONTEXT : رنگ نوشته روي پنجره
COLOR_ACTIVEBORDER : لبه پنجره فعال
COLOR_INACTIVEBORDER : لبه پنجره غير فعال
COLOR_APPWORKSPACE : فضاي کاري دسکتاپ
COLOR_HIGHLIGHT : قسمتي از دکمه که در معرض نور قرار دارد
COLOR_HIGHLIGHTTEXT : نوشته انتخاب شده
COLOR_BTNFACE : رنگ دکمه ، پنجره ، فريم و ...
COLOR_BTNSHADOW : قسمتي از دکمه در قسمت سايهء آن قرار دارد
COLOR_GRAYTEXT : نوشته غير فعال
COLOR_BTNTEXT : رنگ نوشته دکمه
COLOR_INACTIVECAPTIONTEXT : رنگ نوشته پنجره غير فعال
COLOR_BTNHIGHLIGHT : رنگ نور ويندوز


GetSystemDirectoryA
Private Declare Function GetSystemDirectoryA Lib "kernel32.dll" (ByVal lpBuffer As String,ByVal nBuffer As Long) As Long
اين تابع مسير فولدر سيستمي ويندوز را بر ميگرداند
اگر تابع کار خود را با موفقيت به پايان برساند مقدار بازگشتي يک عدد غير صفر و در غير اينصورت مقدار بر گشتي صفر خواهد بود

lpBuffer : اين متغير توسط تابع مقدار دهي مي شود و حاوي مسير فولدر سيستمي خواهد بود
nBuffer : طول بافري که بايد مسير در آن ذخيره گردد را مشخص مي کند


GetSystemMenu

Private Declare Function GetSystemMenu Lib "user32.dll" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
اين تابع يک اشاره گر از منوي سيستمي يک پنجره را بر مي گرداند يا اينکه تغييرات اعمال شده روي منوي سيستمي را به حالت اوليه بر مي گرداند
اگر تابع با خطايي مواجه شود مقدار بر گشتي صفر و در غير اينصورت مقدار بازگشتي يک اشاره گر از منوي سيستمي پنجره مورد نظر خواهد بود


hwnd : هندل پنجره مورد نظر
bRevert : نحوه عملکرد تابع روي منوي سيستمي را تعيين مي کند
GSM_GETHWND : يک اشاره گر از تابع مورد نظر بر مي گرداند
GSM_RESET : تمام تغييرات اعمال شده روي منو را به حالت اوليه بر مي گرداند


GetTempPathA

Private Declare Function GetTempPathA Lib "kernel32.dll" (ByVal nBuffer As Long, lpBuffer As String) As Long
اين تابع مسير فولدر موقت (Temp Folder) ويندوز را بر مي گرداند
اگر تابع کار خود را با موفقيت به پايان برساند مقدار بازگشتي يک عدد غير صفر و در غير اينصورت مقدار بر گشتي صفر خواهد بود

nBuffer : طول بافري که بايد مسير در آن ذخيره گردد را مشخص مي کند
lpBuffer : اين متغير توسط تابع مقدار دهي مي شود و حاوي مسير فولدر موقت خواهد بود

GetUserNameA
Private Declare Function GetUserNameA Lib "advapi32.dll" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
اين تابع نام کاربر جاري را بر مي گرداند
اگر تابع کار خود را با موفقيت به پايان برساند مقدار بازگشتي يک عدد غير صفر و در غير اينصورت مقدار بر گشتي صفر خواهد بود

lpBuffer : اين متغير توسط تابع مقدار دهي مي شود و حاوي نام کاربر جاري خواهد بود
nSize : طول بافر ( متغير lpBuffer )


GetUserProfileDirectoryA
Private Declare Function GetUserProfileDirectoryA Lib "usernv.dll" (ByVal hToken As Long,ByVal lpProfileDir As String, lpcchSize As Long) As Boolean
اين تابع مسير پوشه تنظيمات کاربر جاري را بر مي گرداند (معمولاً Document and Settings\UserName )
گر تابع کار خود را با موفقيت به پايان برساند مقدار بازگشتي True و اگر تابع با خطايي مواجه شود مقدار بر گشتي False خواهد بود

hToken : اين متغير يک اشاره گر از کاربر جاري است که توسط تابع OpenProcessToken به دست مي آيد
lpProfileDir : اين بافر توسط تابع مقدار دهي م يشود و حاوي مسير پوشه مورد نظر خواهد بود
lpcchSize : اين متغير طول بافر lpProfileDir را بيان مي کند