PDA

نسخه کامل مشاهده نسخه کامل : دو تا سوال از vb.net



MohammadJavad.T
04-03-2007, 15:01
سلام
1-اگه دیده باشین تو ویندوز های NT نمیشه سیستم رو با این shutdown کرد فقط تو وینوز 98و... میشه استفاده کرد

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا اگه تو وینوز های NT بخوام shutdown کنم باید چیکار کنم
البته از طریق dos نمیخوام
2-تو vb6 یه دستور به نام type داشتیم تو vb8 بجاش از چی باید استفاده کنیم؟ از Structure ؟
ممنون میشم اکه راهنمای کنید:blush:

_H2_
04-03-2007, 15:32
سلام
یک فایل سیستمی در System32 با نام shutdown.exe است. میتونی اونو اجراش کنی.
البته بازم فکر کنم با API ها بشه ولی الآن کلی برنامه باز دارم، تازه یک فایل 432MB دارم دانلود میکنم.! اصلاَ دلم نمیخواد کامپوتر ریست بشه. بعداَ حتماَ جوابشو امتحان میکنم و میگم!

در مورد سوال دوم هم که خودت گفتی،دستور جدید Structure و امکانات قبلی Type رو داره، علاوه بر اون مثل کلاسها میتونی براش توابع عضو و Property هم تعریف کنی.

راستی من نوفهمم متغیر x اون وسط چه کار میکنه! :blink: :angry:

MohammadJavad.T
04-03-2007, 18:30
سلام

یک فایل سیستمی در System32 با نام shutdown.exe است. میتونی اونو اجراش کنی
این همون روش dos میشه این رو امتحان کردم جواب داد ولی من بدون دستورات dos میخوام این کار رو انجام بدم
فکر کنم باید process ها رو بندازم بیرون تا سیستم shutdown شه

راستی من نوفهمم متغیر x اون وسط چه کار میکنه برا قشنگی :biggrin:


در مورد سوال دوم هم که خودت گفتی،دستور جدید Structure و امکانات قبلی Type رو داره، علاوه بر اون مثل کلاسها میتونی براش توابع عضو و Property هم تعریف کنی مرسی از راهنمایت

_H2_
05-03-2007, 11:52
سلام
عزیز دل برادر! این وسط یک مشکل دستور زبانی وجو دارد!
فایل سیستمی shutdown.exe یک فایل صددرصد ویندوزی است (خالص، خالص) و به هیچ وجه در DOS اجرا نمیشود.
(باور نمی کنید، رایانه را با بوت بالا بیاورید و shutdown.exe را اجرا کنید تا پیغام خوشگل ".This program cannot be run in DOS mode" را در یافت کنید.)

در نتیجه اگر یک برنامه ویندوزی بخواهد یک برنامه دیگر ویندوز (آنهم برنامه سیستمی ویندوز) را که در System32 ویندوز قرار دارد اجرا کند، به این روش، روش DOS نمی گویند.!
احتمالاَ میدانید ولی بحرحال دستورات VB8 و VB6 برای انجام اینکار اینها هستند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


در آخر بد نیست بدانید در ویندوز چهار نوع اصلی EXE داریم که همگی پسوند exe.* را یدک میکشند.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

آنکه شما فکر میکنید DOS است در اصل برنامه های نوع Console Application ویندوز هستند. (البته من گمان میکنم (اگر اشتباه است، پیشاپیش عذر خواهی میکنم) چون شما بیشتر با VB6 کارکرده اید و VB6 نمی تواند این نوع برنامه ها را بسازد در نتیجه فکر میکند برنامه های DOS هستند، اما دلیلش درپیتی VB6 بوده است!)

البته دلیل پشتیبانی نکردن ActiveX EXE در VB.Net (و کلاً اعضای Net.) هم آن است که این نوع EXE نیز همرا با تکنولوژی COM در لیست سیاه ترور مایکروسافت قرار گرفته! :blink:
(من خبر دارم که دوستم، داداش بیل، در مناجات های سوزناک شبانه اش دعای انقراض آنها را سر میدهد! :blink: :blink: :blink: )

MohammadJavad.T
06-03-2007, 05:54
سلام دلانگیز خودم
راست میگی
من خیلی فراموش کارم این با پسوند exe هستش پس از نوع وینوز میشه به احتمال زیاد همون شکل که گفتی یعنی
Console Application باید باشه
ممنون از راهنمایت :blush:
یه تابع api دیدم به اسمIsPwrShutdownAllowed که از کتابخانه poweroff.dll شاید با این هم بشه ولی من نتونستم shutdown کنم با این کار کردی میتونی یه مثال ازش بزاری؟:blink:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

_H2_
06-03-2007, 10:36
سلام
عزیز جان من میتونم اطلاعاتی راجب این تابع پیدا کنم ولی ندیده واضح است که این تابع هیچ کاری نمیکند!

فقط کافیست به نامش نگاه کنی. کاملاَ مشخص است که این تابع یک تابع گزارشی است نه عملیاتی، یعنی فقط میگوید میتوانید یا نمیتوانید.

مثلاَ: رایانه را میتوانید خاموش کنید یا نه؟
یا مثلاَ: رایانه را از قابلیت Sleep پشتیبانی میکند یا نه؟

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

MohammadJavad.T
09-03-2007, 04:43
سلام ممنون از راهنمایت درست تو یه forum خارجی نمیدونم کدوم سایت بود یه مثال در موردش زده بود