PDA

View Full Version : مشکلی در برنامه نویسی Win32



ارحام
پنج شنبه 28 شهریور 1387, 13:42 عصر
با سلام. مدتی است برنامه نویسی Win32 را در VC++2008 تحت ویستا بر مبنای کتاب معروف Charles Petzold شروع کرده ام. برای امتحان فایل اجرایی یکی از برنامه ها را در ویندوز 98 هم اجرا کردم. اما با پیغامی مبنی بر اینکه باید این برنامه در نسخه جدید تری از ویندوز اجرا شود مواجه شدم. Unicode را هم غیر فعال کردم اما فرقی نکرد. به نظر شما مشکل از کجاست؟

Nima_NF
پنج شنبه 28 شهریور 1387, 14:27 عصر
امسال مایکروسافت پشتیبانی از ویندوزهای زیر 98 را متوقف کرده است لذا از این به بعد windows SDK شامل API های ویندوز 2000 به بالا می باشد. در نتیجه در VC++2008 نیز دیگر نمی توانید برای win98 برنامه بنویسید.

در صورت نیاز می توانید از visual C++2005 به همراه SDK سال های قبل استفاده کنید.

ارحام
یک شنبه 31 شهریور 1387, 11:31 صبح
خیلی ممنون. به سختی این موضوع را در راهنمای Visual Studio 2008 هم پیدا کردم.

ارحام
چهارشنبه 08 آبان 1387, 20:29 عصر
اخیراً یک برنامۀ console در VC++2008 نوشتم و در ویندوز ویستا کامپایلش کردم. جالب اینجاست که فایل اجرایی برنامه فقط و فقط در ویندوز ویستا اجرا میشه! و حتی در ویندوز xp پیغام خطا میده و کار نمی کنه. تو برنامۀ console به هیچ وجه از توابع API استفاده نکردم که بگیم برنامه خاص ویستا بوده. حتی ثابت های سمبولیک زیر رو هم تعریف کردم

#define _WIN32_WINNT 0x0501
#define WINVER 0x0501


فرقی نکرد. به نظر شما بخاطر چی میتونه باشه؟ ممنونم.

Nima_NF
پنج شنبه 09 آبان 1387, 01:04 صبح
شما باید کتابخانه مورد نیاز ++visual C را نیز در سیستم کاربران نصب کنید ( برای راحتی می توانید بسته vcredist_x86.exe برای vc2008 را از سایت مایکروسافت دریافت کرده (http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=D5692CE4-ADAD-4000-ABFE-64628A267EF0&displaylang=en) و نصب کنید ) و یا dll های آن را در کنار فایل اجرایی کپی کنید یا اتومات با نصب برنامه(مانند msvcp90.dll و msvcr90.dll و ...)

توضیحات بیشتر در این لینک (http://barnamenevis.org/forum/showthread.php?t=115839)

ارحام
پنج شنبه 09 آبان 1387, 12:14 عصر
بابت پاسخ دقیق شما سپاسگزارم. مشکلی که وجود داره این هست که خیلی جالب نیست به همراه یک برنامۀ console چند ده کیلوبایتی، چند مگابایت دیگر هم همراه کنیم. مخصوصاً اگه برنامه رو بخوایم در اینترنت منتشر کنیم! خوبی برنامۀ های console و حتی win32 تا حدودی به همین stand-alone بودنشون هست. با این اوصاف ترجیح میدم از کامپایلر های دیگر، فرضاً lcc-win32 استفاده کنم.