۳۱-اردیبهشت-۱۳۸۵, ۲۳:۵۱:۰۳
۰۱-خرداد-۱۳۸۵, ۱۱:۱۲:۲۵
جواب سوال اولم رو تو اینجا پیدا کردم
http://comsc.dvc.edu/UsingVisualStudio6.pdf
جواب سوال دوم مونده
http://comsc.dvc.edu/UsingVisualStudio6.pdf
جواب سوال دوم مونده
۰۱-خرداد-۱۳۸۵, ۱۶:۳۵:۵۲
جواب سوال دوم رو میتونم اینطور تشریح کنم که شما در واقع داری یک هدر فایل رو تعریف می کنی و میخوای ازش استفاده کنی که هیچ مشکلی نیست ! اما مشکل استفاده از بعضی از توابع موجود داخل این هدر هست .
در واقع زمانی که ما توی ویندوز 2000 یا XP داریم کار می کنیم به هیچ وجه به MS DOS دسترسی نداریم . همون طوری که میدونی برنامه های کنسول ما توی پنجره ای بنام command prompt داره اجرا میشه که خیلی شبیه به DOSمیمونه . این پنجره یک Thread توی ویندوز ایجاد می کنه و سیستم برنامه زمانبندی ویندوز ، CPU رو برای پردازش اون Thread توی حالتی بنام virtual 86 می بره ! در واقع حالتی ایجاد می کنه که برنامه هایی که در واقع برای ویندوز طراحی نشدن ( مثل برنامه های 16 بیتی ) در یک محیط مجازی بتونن اجرا بشن . این یعنی دسترسی به توابع DOS مفهوم نداره و در واقع ویندوز داره برای ما مجازا" یک محیط غیر ویندوزی رو فراهم می کنه !
اگر بخوای به MS-Dos دسترسی واقعی داشته باشی یعنی بتونی مثلا وقفه ها رو منحرف کنی یا توابع داس رو اجرا کنی باید توی ویندوز 98 یا ME کار کنی . اگر دقت کنی در این ویندوز ها پنجره ای که باز میشه MS DOS Prompt نام داره که نشان دهنده اینه که DOS در این ویندوز ها پشتیبانی میشه !
در واقع زمانی که ما توی ویندوز 2000 یا XP داریم کار می کنیم به هیچ وجه به MS DOS دسترسی نداریم . همون طوری که میدونی برنامه های کنسول ما توی پنجره ای بنام command prompt داره اجرا میشه که خیلی شبیه به DOSمیمونه . این پنجره یک Thread توی ویندوز ایجاد می کنه و سیستم برنامه زمانبندی ویندوز ، CPU رو برای پردازش اون Thread توی حالتی بنام virtual 86 می بره ! در واقع حالتی ایجاد می کنه که برنامه هایی که در واقع برای ویندوز طراحی نشدن ( مثل برنامه های 16 بیتی ) در یک محیط مجازی بتونن اجرا بشن . این یعنی دسترسی به توابع DOS مفهوم نداره و در واقع ویندوز داره برای ما مجازا" یک محیط غیر ویندوزی رو فراهم می کنه !
اگر بخوای به MS-Dos دسترسی واقعی داشته باشی یعنی بتونی مثلا وقفه ها رو منحرف کنی یا توابع داس رو اجرا کنی باید توی ویندوز 98 یا ME کار کنی . اگر دقت کنی در این ویندوز ها پنجره ای که باز میشه MS DOS Prompt نام داره که نشان دهنده اینه که DOS در این ویندوز ها پشتیبانی میشه !
۰۱-خرداد-۱۳۸۵, ۱۸:۳۷:۳۵
خیلی صحبتت مفید و کامل بود
دستت درد نکنه
با این حساب مثلا 3.0 ++ Borland C رو اگه بخوای تحت ویندوز بکار بگیری
امکان پذیر نیست دیگه ( از نظر مثلآ همین Dos.h )
راستی هدر Windows.h امکان کپی و تغییر نام فایل ها رو داره ؟
دستت درد نکنه
با این حساب مثلا 3.0 ++ Borland C رو اگه بخوای تحت ویندوز بکار بگیری
امکان پذیر نیست دیگه ( از نظر مثلآ همین Dos.h )
راستی هدر Windows.h امکان کپی و تغییر نام فایل ها رو داره ؟
۰۱-خرداد-۱۳۸۵, ۲۱:۴۹:۳۶
نقل قول: با این حساب مثلا 3.0 ++ Borland C رو اگه بخوای تحت ویندوز بکار بگیری
امکان پذیر نیست دیگه ( از نظر مثلآ همین Dos.h )
ممکنه برنامه ات کامپایل بشه ولی امکان این هست که اجرا نشه چرا که خیلی از توابع موجود توی اون در ویندوز کار نمی کنن !
نقل قول: راستی هدر Windows.h امکان کپی و تغییر نام فایل ها رو داره ؟
این هدر شامل تمام ساختمان داده های مورد استفاده ویندوز و prototype های توابع API هست ! پس هر چی با API ها می تونی انجام بدی توی این هدر تعریف شده و قابل دسترسی هست .
۰۱-خرداد-۱۳۸۵, ۲۳:۲۴:۱۷
نقل قول: ین هدر شامل تمام ساختمان داده های مورد استفاده ویندوز و prototype های توابع API هست ! پس هر چی با API ها می تونی انجام بدی توی این هدر تعریف شده و قابل دسترسی هست .
چه جالب
متشکرم
۲۶-مرداد-۱۳۸۵, ۱۱:۲۵:۲۵
سلام
یه نکته ای بگم اینکه:
winbase.h
هم این توابع رو داره مثل:
OpenFile, CreateFile, ...
که در فایل
windows.h
includeشده هر چی فایل هدر کوچکتر باشه بهتره
یه نکته ای بگم اینکه:
winbase.h
هم این توابع رو داره مثل:
OpenFile, CreateFile, ...
که در فایل
windows.h
includeشده هر چی فایل هدر کوچکتر باشه بهتره