Click here to Skip to main content
15,891,184 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: binding an application to an application Pin
Arman S.30-Jun-07 5:00
Arman S.30-Jun-07 5:00 
Questioncannot open include file 'res\OhMyGod.rc2'. Pin
gentleguy30-Jun-07 3:52
gentleguy30-Jun-07 3:52 
AnswerRe: cannot open include file 'res\OhMyGod.rc2'. Pin
Cyrilix30-Jun-07 10:34
Cyrilix30-Jun-07 10:34 
Questionvista security Pin
saisp30-Jun-07 3:14
saisp30-Jun-07 3:14 
AnswerRe: vista security Pin
bob1697230-Jun-07 6:59
bob1697230-Jun-07 6:59 
QuestionHow to find out on which disk (not partition) is Windows installed? Pin
Claudiu Bucur30-Jun-07 3:06
Claudiu Bucur30-Jun-07 3:06 
AnswerRe: How to find out on which disk (not partition) is Windows installed? Pin
Randor 30-Jun-07 12:21
professional Randor 30-Jun-07 12:21 
AnswerRe: How to find out on which disk (not partition) is Windows installed? Pin
Claudiu Bucur1-Jul-07 1:10
Claudiu Bucur1-Jul-07 1:10 
Thanks alot for your help!
For Win2k or later QueryDosDevice doesn't return the actual disk index, but the path to the volume object, so in that case we need to call DeviceIoControl with IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS.

Here's the code to accomplish that (used code from Sysinternals's DiskExt):
DWORD GetDiskIndex(TCHAR DriveLetter) {
	TCHAR	volumePath[MAX_PATH];
	HANDLE	hVolume;
	ULONG	bytesWritten;
	UCHAR	DiskExtentsBuffer[0x400];
	PVOLUME_DISK_EXTENTS DiskExtents = (PVOLUME_DISK_EXTENTS)DiskExtentsBuffer;
	
	// Open the volume
	_stprintf( volumePath, _T("\\\\.\\%c:"), DriveLetter);
	hVolume = CreateFile( volumePath,
					GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, 
					NULL, OPEN_EXISTING, 0, NULL );
	if( hVolume == INVALID_HANDLE_VALUE ) {
		return -1;
	}
    
	DWORD dn = -1;
	// Get the extents
	if (DeviceIoControl( hVolume, IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS,
		NULL, 0, DiskExtents, sizeof(DiskExtentsBuffer), &bytesWritten, NULL )) {
		dn = DiskExtents->Extents[0].DiskNumber;
	}

	CloseHandle(hVolume);
	return dn;
}

QuestionHow to use webcam in VC++? Pin
gentleguy30-Jun-07 2:01
gentleguy30-Jun-07 2:01 
AnswerRe: How to use webcam in VC++? Pin
Mark Salsbery1-Jul-07 10:11
Mark Salsbery1-Jul-07 10:11 
QuestionRegLoadKey Privilege Problem Pin
Akin Ocal30-Jun-07 0:17
Akin Ocal30-Jun-07 0:17 
QuestionRe: RegLoadKey Privilege Problem Pin
David Crow2-Jul-07 5:05
David Crow2-Jul-07 5:05 
QuestionCString Pin
deeps_cute30-Jun-07 0:08
deeps_cute30-Jun-07 0:08 
AnswerRe: CString Pin
Christian Graus30-Jun-07 0:49
protectorChristian Graus30-Jun-07 0:49 
QuestionHow to do bluetooth programming on the computer side? Pin
followait29-Jun-07 23:13
followait29-Jun-07 23:13 
GeneralRe: How to do bluetooth programming on the computer side? Pin
shpid3r30-Aug-07 5:31
shpid3r30-Aug-07 5:31 
QuestionImplicit constructors Pin
tom groezer29-Jun-07 22:47
tom groezer29-Jun-07 22:47 
AnswerRe: Implicit constructors Pin
Sameerkumar Namdeo29-Jun-07 23:46
Sameerkumar Namdeo29-Jun-07 23:46 
AnswerRe: Implicit constructors Pin
fefe.wyx29-Jun-07 23:53
fefe.wyx29-Jun-07 23:53 
QuestionGet all controls on a form Pin
braune29-Jun-07 21:57
braune29-Jun-07 21:57 
QuestionRe: Get all controls on a form Pin
Hamid_RT30-Jun-07 0:42
Hamid_RT30-Jun-07 0:42 
AnswerRe: Get all controls on a form Pin
braune30-Jun-07 10:45
braune30-Jun-07 10:45 
AnswerRe: Get all controls on a form Pin
Mark Salsbery1-Jul-07 10:40
Mark Salsbery1-Jul-07 10:40 
QuestionRe: Get all controls on a form Pin
David Crow2-Jul-07 5:08
David Crow2-Jul-07 5:08 
AnswerRe: Get all controls on a form Pin
braune2-Jul-07 21:39
braune2-Jul-07 21:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.