PDA

View Full Version : Windows Drive



benyamin_pc
یک شنبه 26 شهریور 1385, 13:22 عصر
سلام

آقا چطوری میشه دید ویندوزی که الان رو کامپیوتر کاربر در حال اجراس رو کدوم درایو نصبه؟؟
مثلا اگه 4 ویندوزم که داشته باشه اونی که الان باش بالا اومده رو کدوم درایو
(با سی)

sh_roohani
یک شنبه 26 شهریور 1385, 14:39 عصر
سلام،


#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <tchar.h>

int main(int argc, char **argv)
{
TCHAR pszWinDir[MAX_PATH] = { _T('\x00') };

GetWindowsDirectory(pszWinDir, MAX_PATH);

_tprintf(_T("%s\n"), pszWinDir);

return EXIT_SUCCESS;
}

benyamin_pc
یک شنبه 26 شهریور 1385, 16:40 عصر
اما این فرامین تو سی کار نمی کنن

Arash_j13
دوشنبه 27 شهریور 1385, 00:12 صبح
توی اینها از هیچ خاصیت سی++ استفاده نشده
چرا نباید کار کنه؟

benyamin_pc
سه شنبه 28 شهریور 1385, 14:40 عصر
که نمی کنه می تونین امتحان کنین
اما فک کنم بخاطر هدراشه من تو سی هدر Tchar ندیدم
این فرمانم _tprintf تو سی نیس
یا این GetWindowsDirectory

sh_roohani
سه شنبه 28 شهریور 1385, 16:57 عصر
سلام،
قربون شکلت tprintf_ یه ماکرو هست. حتی اون GetWindowsDirectory هم یه ماکرو هست. شما هم اصلا مجبور نیستی از اینا استفاده کنی. همه ماکروهای T_ و همچنین هدر فایل tchar رو حذف کن و به جای اون tprintf_ هم از printf استفاده کن و مسئله حله. فقط دیگه اگه بخوای پروژه تو یونیکدی کنی، باید یا خودت یه سری ماکرو دستی تعریف کنی، یا اینکه به جای char از wchar_t و به جای printf از wprintf استفاده کنی.

در ضمن من این کد رو اول با VC کامپایل کردم، بعدش واسه شما فرستادم.

benyamin_pc
سه شنبه 28 شهریور 1385, 18:28 عصر
آخ راس میگیا اصلا دقت نکردم می رم اجراشون کنم دیگه باید کار کنن دست درد نکنه , آقا