PDA

View Full Version : ریستارت کردن برنامه



xrezax
دوشنبه 05 فروردین 1392, 12:15 عصر
دوستان راهی هست که برنامه در حال اجرای خودمو ریستارت کنم ؟؟
یعنی باز و بسته بشه ؟؟

soheila2012
دوشنبه 05 فروردین 1392, 12:18 عصر
لطفا یکم بیشتر توضیح بدین
برنامه منظورتون چیه؟

xrezax
دوشنبه 05 فروردین 1392, 12:27 عصر
من یک برنامه دارم که کاربر داره استفاده می کنه. می خوام یه دکمه ای بزارم براش که وقتی روش کلیک بشه برنامه بسته بشه و دوباره باز بشه.
ریستارت بشه به عبارت دیگه

SlowCode
دوشنبه 05 فروردین 1392, 13:09 عصر
سلام
میتونی از این کد استفاده کنی.
Shell App.EXEName & ".exe", vbNormalFocus
Unload Me

M.T.P
دوشنبه 05 فروردین 1392, 13:36 عصر
سلام

کد زیر رو تو یه ماژول بریزید و تابع RestartMe رو هر کجا خواستید صدا بزنید.


Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpszOp As String, _
ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal LpszDir As String, ByVal FsShowCmd As Long) _
As Long

Sub RestartMe()
ShellExecute 0, vbNullString, App.EXEName, "/restart", _
App.Path, vbNormalFocus
End
End Sub

البته اگه ابتدای برنامه App.PrevInstance رو چک می کنید و تنها اجازه اجرای یکبار در هر بار رو به برنامه دادید باید کد App.PrevInstance رو به شکل زیر تغییر بدید اگر نه که نیازی به کد زیر نیست.


If App.PrevInstance And Command$ <> "/restart" Then
End
End If