امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
تغيير مسير اجراي برنامه (حل شد)
نویسنده پیام
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #1
تغيير مسير اجراي برنامه (حل شد)
دوستان راهي براي تغيير مسير برنامه اجرا شده وجود داره
راحت تر بخوام بگم اينكه مثلا وقتي كه من با shell برنامه اي مثل cmd رو اجرا مي كنم مسير پيشفرض cmd برابر با مسير اجراي برنامه منه
حالا من اگر بخوام بعد از اجراي CMD مسير اون برابر باشه با يك مسير دلخواه ديگه ، بايد مسير اجراي برنامه خودم رو تغيير بدم
يعني هر وقت با curdir مسير رو در خواست كردم چيزي باشه كه من مي خوام
اميدوارم منظورم رو واضح بيان كرده باشم
Amaze

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
(آخرین ویرایش در این ارسال: ۱۹-شهریور-۱۳۸۷, ۰۵:۳۴:۴۷، توسط vz67.)
۱۷-شهریور-۱۳۸۷, ۰۷:۳۸:۲۸
وب سایت ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #2
RE: تغيير مسير اجراي برنامه
ولي من اميدوارم نيستم!
لطفا مثال نزن دقيقا بگو مي خواي چي كار كني؟

۱۷-شهریور-۱۳۸۷, ۱۲:۰۴:۴۶
وب سایت ارسال‌ها
پاسخ
davoodx آفلاین
كاربر دو ستاره
**

ارسال‌ها: 78
موضوع‌ها: 20
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 36
( 2 تشکر در 2 ارسال )
ارسال: #3
RE: تغيير مسير اجراي برنامه
سلام
این کد زیر را توی یک فایل Bat بریز و زمان اجرای برنامه بازش کن تا مسیر CMD عوض بشه :
اگر می خواهی مسیرت مثلا به D:\DavoodX\Test تغییر کنه :

D:&cd DavoodX\Test

اگه می خوای فایل Exe را باز کنی آخر همان دستور یه & بزن و فایل exe را اجرا کن . یعنی مثلا اگه بخوای فایل D:\DavoodX\Test\Make.exe را باز کنی باید از کد زیر توی فایل Bat استفاده کنی :

D:&cd DavoodX\Test&Make.exe

موفق باشی
(آخرین ویرایش در این ارسال: ۱۷-شهریور-۱۳۸۷, ۱۳:۰۳:۵۷، توسط davoodx.)
۱۷-شهریور-۱۳۸۷, ۱۲:۵۷:۴۵
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #4
RE: تغيير مسير اجراي برنامه
با chdir و chdrive . حواست باشه كه درايو فعال با مسير فعال فرق داره. هر درايوي يه مسير فعال داره. بنابر اين اول بايد درايو فعال رو مشخص كنيد و بعد مسير فعال رو:
کد:
ChDrive "c"
ChDir "c:\windows"

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۷-شهریور-۱۳۸۷, ۱۳:۵۴:۳۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : vz67
saeedsmk آفلاین
مدیر بخش کرک و کامپیوتر
*****

ارسال‌ها: 506
موضوع‌ها: 74
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 677
( 1179 تشکر در 348 ارسال )
ارسال: #5
RE: تغيير مسير اجراي برنامه
سلام
خوب هستيد شايد كد زير كمك تون كنه workdir محل اي كه برنامه مثلا از اونجا ران شده ( توي تابع SuperShell)
به اميد ديدار
کد:
'This program needs a common dialog box, named CDBox
'  (To add the Common Dialog Box to your tools menu, go to Project->Components (or press CTRL-T)
'   and select Microsoft Common Dialog control)
Const INFINITE = &HFFFF
Const STARTF_USESHOWWINDOW = &H1
Private Enum enSW
    SW_HIDE = 0
    SW_NORMAL = 1
    SW_MAXIMIZE = 3
    SW_MINIMIZE = 6
End Enum
Private Type PROCESS_INFORMATION
    hProcess As Long
    hThread As Long
    dwProcessId As Long
    dwThreadId As Long
End Type
Private Type STARTUPINFO
    cb As Long
    lpReserved As String
    lpDesktop As String
    lpTitle As String
    dwX As Long
    dwY As Long
    dwXSize As Long
    dwYSize As Long
    dwXCountChars As Long
    dwYCountChars As Long
    dwFillAttribute As Long
    dwFlags As Long
    wShowWindow As Integer
    cbReserved2 As Integer
    lpReserved2 As Byte
    hStdInput As Long
    hStdOutput As Long
    hStdError As Long
End Type
Private Type SECURITY_ATTRIBUTES
    nLength As Long
    lpSecurityDescriptor As Long
    bInheritHandle As Long
End Type
Private Enum enPriority_Class
    NORMAL_PRIORITY_CLASS = &H20
    IDLE_PRIORITY_CLASS = &H40
    HIGH_PRIORITY_CLASS = &H80
End Enum
Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Function SuperShell(ByVal App As String, ByVal WorkDir As String, dwMilliseconds As Long, ByVal start_size As enSW, ByVal Priority_Class As enPriority_Class) As Boolean
    Dim pclass As Long
    Dim sinfo As STARTUPINFO
    Dim pinfo As PROCESS_INFORMATION
    'Not used, but needed
    Dim sec1 As SECURITY_ATTRIBUTES
    Dim sec2 As SECURITY_ATTRIBUTES
    'Set the structure size
    sec1.nLength = Len(sec1)
    sec2.nLength = Len(sec2)
    sinfo.cb = Len(sinfo)
    'Set the flags
    sinfo.dwFlags = STARTF_USESHOWWINDOW
    'Set the window's startup position
    sinfo.wShowWindow = start_size
    'Set the priority class
    pclass = Priority_Class
    'Start the program
    If CreateProcess(vbNullString, App, sec1, sec2, False, pclass, _
    0&, WorkDir, sinfo, pinfo) Then
        'Wait
        WaitForSingleObject pinfo.hProcess, dwMilliseconds
        SuperShell = True
    Else
        SuperShell = False
    End If
End Function
Private Sub Form_Load()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'Set the dialog's title
    CDBox.DialogTitle = "Choose an EXEC-File ..."
    'Error when canceled
    CDBox.CancelError = True
    'Set the dialog's fliter
    CDBox.fliter = "EXEC-Files (*.exe)|*.exe|All files (*.*)|*.*"
    'Show the 'Open File'-dialog
    CDBox.ShowOpen
    'Execute the program
    SuperShell CDBox.filename, Left$(CDBox.filename, Len(CDBox.filename) - Len(CDBox.FileTitle)), 0, SW_NORMAL, HIGH_PRIORITY_CLASS
    End
End Sub

در دنياي كه مرگ شكارچي ان است بايد شكارچي بود - تعليمات دون خوان نوشته كارلوس كاستاندار
(آخرین ویرایش در این ارسال: ۱۷-شهریور-۱۳۸۷, ۱۵:۳۶:۵۹، توسط saeedsmk.)
۱۷-شهریور-۱۳۸۷, ۱۵:۳۵:۴۵
ارسال‌ها
پاسخ
تشکر شده توسط : vz67
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #6
RE: تغيير مسير اجراي برنامه
(۱۷-شهریور-۱۳۸۷, ۱۲:۰۴:۴۶)Di Di نوشته است: ولي من اميدوارم نيستم!
لطفا مثال نزن دقيقا بگو مي خواي چي كار كني؟

سلام

دوستان معذرت میخوام ، چرا اینجا همه با هم دعوا دارن ؟؟
خوب بگید متوجه نشدم، واضح تر بگو !!
-------------------------------------------------------
احتیاج به این همه کد نیست
کد:
Call Shell("Cmd /k cd" & " " & Chr(34) & "Your PAth" & Chr(34))
باید به جای Your Path مسیر یا مسر فایل رو بزاری ،
همین !
مثلا واسه رفتن به یه درایو D باید بزنی
کد:
d:\
واسه اجرا گرفتن تو vb بهتره از API استفاده !

یا حق
(آخرین ویرایش در این ارسال: ۱۷-شهریور-۱۳۸۷, ۱۷:۲۷:۴۰، توسط babyy.)
۱۷-شهریور-۱۳۸۷, ۱۶:۴۶:۲۴
وب سایت ارسال‌ها
پاسخ
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #7
RE: تغيير مسير اجراي برنامه
خدمت DI DI عزيز عرض كنم كه مثالي كه من زدم تقريبا همون چيزي هست كه ميخوام
شما نتيجه ي اين دوتا كد رو باهم مقايسه كني متوجه ميشي
کد:
ChDrive ("d:")
ChDir ("D:\Converters")
Shell "cmd"
کد:
Shell "cmd"
من در اينجا فقط cmd رو براي مثال در نظر گرفتم ، اما اگر فايل ها و برنامه هاي ديگه رو اجرا كنيد متوجه ميشيد كه در حالت عادي اكثرا با مشكل در اجرا مواجه ميشن به همين خاطر بايد مسير اجراي برنامه خودم رو به مسير فايلي كه مي خوام تغيير بدم
بيشتر اين مشكل رو من در game ها ديدم.
راستي علي آقا بابت راهنمايت ممنون Wink

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۱۸-شهریور-۱۳۸۷, ۰۷:۳۶:۰۴
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #8
RE: تغيير مسير اجراي برنامه
سلام

جناب vz67 میشه یه توضیح کامل تر بدید ؟؟ من خداییش متوجه نشدم ؟؟

ممنون

یا حق
۱۸-شهریور-۱۳۸۷, ۱۶:۰۱:۵۸
وب سایت ارسال‌ها
پاسخ
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #9
RE: تغيير مسير اجراي برنامه (حل شد)
(۱۸-شهریور-۱۳۸۷, ۱۶:۰۱:۵۸)babyy نوشته است: جناب vz67 میشه یه توضیح کامل تر بدید ؟؟ من خداییش متوجه نشدم ؟؟
اين تغيير مسير زماني به درد مي خوره كه شما در اجراي يك برنامه ديگه توسط Shell مشكل داشته باشيد
چند وقت پيش يك برنامه كوچولو داشتم مي نوشتم كه تو يك قسمتش آدرس فايل اجرائي رو ميدادم و اون فايل رو اجرا مي كردم اما 30% برنامه ها با اين روش من با خطا مواجه بودن
به همين دليل بايد مسير برنامه خودم رو برابر مي كردم با مسير برنامه اي كه مي خوام اجرا كنم
فكر مي كنم با اين مثالي كه گزاشتم متوجه اهميت تغيير مسير بشي .


فایل‌(های) پیوست شده
.zip   chngdir.zip (اندازه: 1.26 KB / تعداد دفعات دریافت: 54)

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۱۹-شهریور-۱۳۸۷, ۰۶:۱۶:۱۱
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تغيير همزمان در چند ابزار student-p 3 2,385 ۱۰-تير-۱۳۹۷, ۱۲:۴۱:۲۲
آخرین ارسال: student-p
  [سوال] ايجاد محدوديت زماني براي اجراي برنامه megatron 11 8,248 ۲۹-اردیبهشت-۱۳۹۲, ۰۸:۵۳:۰۴
آخرین ارسال: lord_viper
  چگونه يه تايمر را روي فرم قرار دهيم و مدت اجرا آن را به يك ساعت تغيير دهيم! rap0661 10 11,357 ۱۱-خرداد-۱۳۹۱, ۱۹:۵۶:۵۸
آخرین ارسال: Ghoghnus
  [سوال] اجراي يك برنامه از طريق آيكون برنامه در كنار ساعت در نوار وظيفه one hacker alone 3 3,273 ۲۷-آذر-۱۳۹۰, ۱۲:۲۷:۱۴
آخرین ارسال: Ghoghnus
  [سوال] مشكل در اجراي يك برنامه abi_hf 1 2,282 ۲۹-فروردین-۱۳۹۰, ۱۵:۵۵:۱۵
آخرین ارسال: Mr.pRoGraMmer
  [سوال] اجراي فايل ديگر در ويژوال bah69man 2 2,925 ۱۲-فروردین-۱۳۹۰, ۲۳:۱۸:۰۱
آخرین ارسال: bah69man
  برنامه اي كه بشه با اجراي اون هارد فرمت بشه zer0tent 9 6,675 ۲۲-آذر-۱۳۸۸, ۱۴:۳۰:۱۵
آخرین ارسال: Scorpion
Exclamation مسير دهي براي اجراي فيلم DVD computer_prospect 4 3,605 ۰۴-مهر-۱۳۸۸, ۲۱:۰۷:۲۱
آخرین ارسال: computer_prospect
  تغيير سايز عكس reza87 2 3,196 ۰۲-آذر-۱۳۸۷, ۱۳:۲۲:۳۵
آخرین ارسال: asoft
  تغيير اسم فايلها reza87 7 7,328 ۲۵-آبان-۱۳۸۷, ۱۶:۵۹:۳۷
آخرین ارسال: Payman62

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS