نمایش نتایج 1 تا 8 از 8

نام تاپیک: مشکل اجرای برنامه های اجرایی با پسوند غیر اجرایی؟

  1. #1
    کاربر دائمی آواتار MSK
    تاریخ عضویت
    تیر 1383
    محل زندگی
    فعلا تهران - بعدا خدا می‌دونه!
    پست
    331

    مشکل اجرای برنامه های اجرایی با پسوند غیر اجرایی؟

    ShellExecute و WinExec هردو برای اجرای یک برنامه محتاج پسوند اونند.
    نتیجه اینکه یه برنامه با پسوند غیر اجرایی رو نمیشه بکمک اینا اجراکرد.
    حالا اگه مثلا بخواهیم یه برنامه رو که خودمون ری نیمش کردیم اجرا کنیم چه باید
    بکنیم :?:

  2. #2
    1- دوباره Rename کنین
    2- اجرا کنین
    3- سه باره Rename کنین

    منظورتونو درست فهمیده بودم؟

  3. #3
    کاربر دائمی آواتار MSK
    تاریخ عضویت
    تیر 1383
    محل زندگی
    فعلا تهران - بعدا خدا می‌دونه!
    پست
    331
    البته اینم راهیه ولی در واقع باید راه بهتری هم وجود داشته باشه؟ :قهر:
    هدف من از اینکار جلوگیری از اجرای تصادفی توسط کاربر بوده ولی اینجوری یکم ناجوره. :|

  4. #4
    فکر کنم بشه یه کارایی کرد.
    مثلا" تو همون فایل اجرایی که میخواین اجراش کنین ، آرگومانهای ورودی رو چک کنین ، ببینین اگر اونهایی که شما میخواین توش هست (نشانه ای برای اینکه برنامه شما اون رو فرا خوانده) ، اونوقت اجازه اجرا بدین. در غیر این صورت از برنامه خارج بشین.

    موفق باشین

  5. #5
    کاربر دائمی آواتار MSK
    تاریخ عضویت
    تیر 1383
    محل زندگی
    فعلا تهران - بعدا خدا می‌دونه!
    پست
    331
    میگن جوینده یابندست.
    البته راههای مختلف زیادی برای حل این مشکل وجود داره. چند تاش اینایی که گفته شد ولی من برای رفع حاجت نیومده بودم. :shock:
    این سوال رو مطرح کردم که یه چیزی به علممون اضافه بشه و ببینم واقعا یعنی راهی برای برای اجرای یه فایل با پسوند غیر اجرایی وجود نداره؟(این واقعا یه سوال شده برام)
    البته از جوابای بی توقع شما هم خیلی ممنونم. 8-)

  6. #6
    راه چاره استفاده از تابع CreateProcess است!

    این هم تابع برای این کار:
    Function RunProcess(Const AppPath:String;MustWait:Boolean=False;AppP  arams:String='';Visibility:Word=SW_SHOWNOR  MAL):DWord;
    Var
    SI:TStartupInfo;
    PI:TPROCessINFORMATION;
    Proc:THandle;
    zFileName:Array[0..Max_Path*2]of char;
    zParams:Array[0..Max_Path]of char;
    begin
    FillChar(SI,SizeOf(SI),0);
    SI.cb:=SizeOf(Si);
    Si.wShowWindow:=Visibility;
    If Not CreateProcess(strPCopy(zFilename,AppPath&# 41;,
    StrPCopy(zParams,APpParams),
    nil,nil,False,NORMAL_PRIORITY_CLASs ,nil,nil,SI,PI) then
    Raise EXCeption.CreateFmt('Failed to execute program '+
    apppath+'.Error Code %d',[GetlastError]);
    Proc:=PI.hProcess;
    CloseHandle(Pi.HThread);
    If MustWait then
    If WaitForSingleObject(Proc,infinite)<>Wai t_Failed then
    GetExitCodeProcess(Proc,Result);
    CloseHandle(Proc);
    end;

  7. #7
    این هم مثال:
    RunProcess ('c:\exe.ok');

  8. #8
    کاربر دائمی آواتار MSK
    تاریخ عضویت
    تیر 1383
    محل زندگی
    فعلا تهران - بعدا خدا می‌دونه!
    پست
    331
    آقا ایول. شاهکار کردی!
    دستت درد نکنه!
    :flower: :flower: :flower:

تاپیک های مشابه

  1. دوستانی که با interbase آشنایی دارند لطفا راهنمایی کنند
    نوشته شده توسط mehdi_moosavi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: شنبه 01 بهمن 1384, 14:11 عصر
  2. کمک trigger یه خورده راهنمایی؟
    نوشته شده توسط reham در بخش SQL Server
    پاسخ: 6
    آخرین پست: شنبه 03 اردیبهشت 1384, 13:59 عصر
  3. attach کردن دو تا فایل اجرایی؟
    نوشته شده توسط ICEMAN در بخش برنامه نویسی با Borland C++‎ Builder
    پاسخ: 2
    آخرین پست: سه شنبه 30 فروردین 1384, 04:47 صبح
  4. attach کردن دو تا فایل اجرایی؟
    نوشته شده توسط ICEMAN در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 3
    آخرین پست: جمعه 14 اسفند 1383, 17:36 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •