/ در آموزش ویژوالبیسیک, اشتراک رایگان, ویژوالبیسیک / توسط
آخرین زمان ویرایش:

مجموعه سورس کدهای ویژوالبیسیک ۶ قسمت ۱

جهت مطالعه و دسترسی به سورس ها به ادامه مطلب مراجعه نمائید

چگونه می توان شماره سریال هارد را بدست آورد ؟
پاسخ : از تابع GetVolumeInformation موجود در کتابخانه Kernel32 استفاده کنید . برای declare کردن این تابع بصورت زیر عمل کنید :

Declare Function GetVolumeInformation Lib “kernel32” Alias

“GetVolumeInformationA” (ByVal lpRootPathName As String, ByVal

lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long,

lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long,

lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal

nFileSystemNameSize As Long) As Long

حال کد زیر را برنامه تان قرار دهید :

Dim lngNumSerial As Long

Dim strRotulo As String

Dim strTipoVolume As String

Dim lngVal As Long

strRotulo = Space(255)

strTipoVolume = Space(255)

lngVal = GetVolumeInformation(“C:”, strRotulo, Len(strRotulo), lngNumSerial, 0, 0, strTipoVolume, Len(strTipoVolume))

MsgBox (lngNumSerial)

البته شماره سریالی که کد فوق بر می گرداند شماره سریالی است که سیستم عامل به هارد می دهد و زمانیکه هارد مجدداً پارتیشن بندی شود این شماره تغییر خواهد کرد . برای بدست آوردن شماره سریالی که سازنده روی هارد قرار داده از تابع DeviceIoControl استفاده کنید .


چگونه میتوان فرمی را روی فرم دیگر قرار داد و کنترل ها را نیز روی آن کشید؟

پاسخ : ابتدا سه تابع زیر را از کتابخانه user32 تعریف کنید :

Public Declare Function FindWindow Lib “user32” Alias “FindWindowA” (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Function SetParent Lib “user32” (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Public Declare Function SetWindowPos Lib “user32” (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal Cx As Long, ByVal Cy As Long, ByVal wFlags As Long) As Long

سپس ثوابت زیر را تعریف کنید :

Public Const SWP_NOMOVE = &H2

Public Const SWP_NOSIZE = &H1

Public Const HWND_TOPMOST = -1

Public Const Flags = SWP_NOMOVE Or SWP_NOSIZE

همچنین تابع کمکی زیر را نیز در برنامه تان قرار دهید :

Public Function GethWndByWinTitle(winTitle As String) As Long

Dim retval As Long

GethWndByWinTitle = FindWindow(vbNullString, winTitle)

End Function

تابع قرار دادن فرم در حالت Bottom ( زیر همه فرمها ) بصورت زیر است :

Sub FormOnBottom(Frm As Form)

Dim DeskH As Long

DeskH = GethWndByWinTitle(“Program Manager”)

Call SetParent(Frm.hWnd, DeskH)

End Sub

تابع قرار دادن فرم در حالت Top ( روی همه فرمها ) بصورت زیر است :

Sub FormOnTop(Frm As Form)

Call SetWindowPos(Frm.hWnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, Flags)

End Sub

تابع قرار دادن فرم در حالت نرمال بصورت زیر است :

Sub FormNormal(Frm As Form)

Dim DeskH As Long

DeskH = GethWndByWinTitle(“Form1”)

Call SetParent(Frm.hWnd, DeskH)

End Sub


چگونه می توان از برنامه های وی بی در AutoCad استفاده کرد ؟

پاسخ : استفاده از ویژوال بیسیک بهمراه آتوکد توسط یک سیستم ابداعی شرکت AutoDesk به اسم ADS -AutoCAD Develpoment System – امکان پذیر است . این سیستم ارتباطی به برنامه نویسان اجازه می دهد تا برنامه های کاربردی بنویسند که بتواند آتوکد را کنترل کرده و داده را بین آتوکد و برنامه خارجی رد و بدل کند . پشتیبانی از ویژوال بیسیک در ADS از آتوکد ۱۳ آغاز شد .

همچنین در بخش reference های ویژوال بیسیک ( در صورتیکه آتوکد روی سیستمتان نصب باشد ) گزینه ای به اسم AutoCAD Type Library وجود دارد که می توانید از آن در برنامه تان استفاده کنید برای مثال :

Private autocadApp As AcadApplication

Set autocadApp = CreateObject(“AutoCAD.Application.15”)

Dim doc As AcadDocument

Set doc = autocadApp.Application.Documents.Open(“c:drawing.dwg”)


چگونه می توان در وی بی برنامه ای نوشت که نام و مسیر یک فایل را از کاربر بگیرد و در مسیر انتخاب شده شورتکاتی از فایل گرفته شده ایجاد کند ؟

پاسخ : ابتدا متغیرهای زیر را که از نوع Object هستند تعریف کنید :

Dim wsh As Object

Dim Shortcut As Object

سپس بایستی شی wsh را ایجاد نمائید :

Set wsh = CreateObject(“wscript.shell”)

سپس بایستی شی Shortcut را ایجاد نمائید :

Set Shortcut = wsh.CreateShortcut(“c:YourProgram.lnk”)

مسیری که در کد فوق داده شده محل ساخت شورتکات می باشد .

سپس بایستی پارامترهای شی Shortcut را تنظیم کنید :

Shortcut.TargetPath = “C:Program FilesTestYourProgram.exe”

Shortcut.IconLocation = “C:Program FilesTestYourIcon.ico”

Shortcut.WorkingDirectory = “C:Program FilesTest”

Shortcut.Description = “Your Description”

پارامتر TargetPath برنامه مرتبط با شورتکات را نشان می دهد .

در پایان بایستی شورتکات را ذخیره کنید :

Shortcut.Save

نکته : برای ایجاد شورتکات در دسکتاپ یا در Startup ، بایستی متغیری از نوع SpecialForders ایجاد نمائید :

Dim sf As Object

Set sf = wsh.SpecialFolders

سپس محل ساخت شورتکات را بصورت sf(“AllUsersDesktop”) & YourPath و یا sf(“AllUsersStartup”) & YourPath بدهید .


چگونه می توان در وی بی مسیر دایرکتوری استارت آپ را پیدا کرد ؟

پاسخ : با استفاده از روش زیر می توانید مسیر کلیه دایرکتوریهای سیستمی را پیدا کنید :

ابتدا دو تابع زیر را از کتابخانه Shell32 تعریف کنید :

Private Declare Function SHGetSpecialFolderLocation Lib “shell32” (ByVal hwnd As Long, ByVal nFolder As Long, Pidl As Long) As Long

Private Declare Function SHGetPathFromIDList Lib “shell32” (Pidl As Long, ByVal FolderPath As String) As Long

حال متغیر SystemFolder از نوع Enum را بصورت زیر تعریف کنید :

Public Enum SystemFolder

Desktop = 0

StartMenu_Programs = 2

My_Documents = 5

Favorites = 6

Startup = 7

Recent = 8

SendTo = 9

Start_Menu = 11

Windows_Desktop = 16

Network_Neighborhood = 19

Fonts = 20

ShellNew = 21

AllUsers_Desktop = 25

ApplicationData = 26

Printhood = 27

TemporaryInternetFiles = 32

Cookies = 33

History = 34

End Enum

تابع پیدا کردن دایرکتوریهای سیستمی بصورت زیر خواهد بود :

Public Function FindSystemFolder(ByVal lngNum As SystemFolder) As String

Dim lpStartupPath As String * MAX_PATH

Dim Pidl As Long

Dim hResult As Long

hResult = SHGetSpecialFolderLocation(0, lngNum, Pidl)

If hResult = 0 Then ‘there is a result

hResult = SHGetPathFromIDList(ByVal Pidl, lpStartupPath)

If hResult = 1 Then

lpStartupPath = Left$(Trim$(lpStartupPath), InStr(lpStartupPath, Chr(0)) – 1)

FindSystemFolder = Trim$(lpStartupPath)

End If

End If

End Function

نوشته های مشابه

آموزش جامع و کامل جی کوئری بخش یازدهم (پایان)

جهت مطالعه به ادامه مطلب مراجعه فرمائید (بیشتر…)

مجموعه سورس کدهای ویژوالبیسیک ۶ قسمت ۲

جهت مطالعه و دسترسی به سورس ها به ادامه مطلب مراجعه نمائید (بیشتر…)

 کانال تلگرام داده باران شارژ آنلاین

نظری بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *