PDA

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



jome ramezani
سه شنبه 15 خرداد 1386, 05:10 صبح
چگونه میتوان کاری کرد که یک برنامه تنها یک بار اجرا گردد

اَرژنگ
سه شنبه 15 خرداد 1386, 05:44 صبح
چگونه میتوان کاری کرد که یک برنامه تنها یک بار اجرا گردد
Definition of the RunOnce Keys in the Registry
http://support.microsoft.com/kb/137367

Single Instance Application in C#
http://www.codeproject.com/csharp/singleinstance.asp

مهدی رحیم زاده
سه شنبه 15 خرداد 1386, 07:09 صبح
میشه یه خورده بیشتر توضیح بدین که منظورتون از اینکه یک بار اجرا بشه چیه ؟؟؟

Alireza_Salehi
سه شنبه 15 خرداد 1386, 08:56 صبح
چگونه میتوان کاری کرد که یک برنامه تنها یک بار اجرا گردد
http://www.dalepreston.com/Blog/2005/03/you-only-run-once.html

اَرژنگ
سه شنبه 15 خرداد 1386, 10:12 صبح
میشه یه خورده بیشتر توضیح بدین که منظورتون از اینکه یک بار اجرا بشه چیه ؟؟؟
یعنی ایکه اگر کاربر دوباره ایکن برنامه را کلیک کرد یک بار دیگهر برنامه را اجرا نکنه و دو تا برنامه با هم در حال اجرا باشند.
به عنوان مثال مسنجر را امتحان کنید، فقط یک مسنجر همیشه در حال اجرا هست، مهم نیست که چند بار بخواهید اجراش کنید.

essa_61
سه شنبه 15 خرداد 1386, 12:19 عصر
سلام خدمت همه میشه یکم مفصل راجع به این چند خط کد برای من توضیح بدید علامت [] در این کدها معنیش چیه ؟؟ کلا این کدها معنیش چیه ؟؟

ضمنان این کدها مربوط به اجرای یک بار برنامه میشن






[DllImport("user32.dll")]

privatestaticexternint ShowWindow(IntPtr hWnd, int nCmdShow);

[DllImport("user32.dll")]

privatestaticexternint SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]

privatestaticexternint IsIconic(IntPtr hWnd);

PC2st
سه شنبه 15 خرداد 1386, 13:25 عصر
علامت [] در این کدها معنیش چیه ؟؟
به معنای Attribute برای متد.

کلا این کدها معنیش چیه ؟؟
هر متد یا کلاس یا ساختار یا خاصیت یا ... میتونه دارای Attribute باشه.
attribute ها میتوانند روی یک متد، کلاس، ساختار یا ... تاثیر بگذارند.
در مثالی که ذکر شده، به کمک DllImport، اطلاعات لازم برای متد آماده میشه تا بتواند یک تابع را از Dll مدیریت نشده، صدا بزند.

kiani.mehdi
سه شنبه 15 خرداد 1386, 17:13 عصر
خیلی ساده بگم این روشی است برای فراخوانی DLL ها
همون API که میگن
در کل برای استفاده از توابعی که درون DLL های مختلف که هست ابتدا باید DLL مربوطه را با دستور DLL Import به برنامه اضافه کنی و بعد تابع مربوطه را نوشته و فراخوانی کنی
میتونی DLL Import را معادل Using بگیری
البته از لحاظ کاری میگم نه اینکه این دوتا یکی هستند




ضمنان این کدها مربوط به اجرای یک بار برنامه میشن


در ضمن این کدهایی که تینجا نوشتی فقط اعلان هستند و به خودی خود هیچ کاری انجام نمیدن


موفق باشید
مهدی کیانی