Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Определение тактовой частоты проца, поиск файлов в папке

29K
16 июля 2008 года
MaxGruzin
11 / / 06.12.2007
У меня два простых вопроса:

1.Как определить частоту работы процессора средствами VC++ (и если возможно прочие характеристики машины)
2.Как получить список файлов в определенной папке?


Заранее спасибо! :)
255
16 июля 2008 года
Dart Bobr
1.4K / / 09.04.2004
нужно использовать поиск по форуму!! Темы не раз поднимались!!
288
17 июля 2008 года
nikitozz
1.2K / / 09.03.2007
1. Вот алгоритм от Фленова. Правда он на Delphi, но перевести на C++ думаю не проблема.

Код:
function GetCPUSpeed: Double;
const
DelayTime = 500;
var
TimerHi, TimerLo: DWORD;
PriorityClass, Priority: Integer;
begin
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);
SetPriorityClass(GetCurrentProcess, REALTIME__PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
Sleep(10);
asm
dw 310Fh
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;
SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);
Result := TimerLo/(1000.0 * DelayTime);
end;


2. Копайте в сторону FindFirstFile, FindNextFile, FindClose.
29K
17 июля 2008 года
MaxGruzin
11 / / 06.12.2007
С поиском файлов разобрался.

Кому интересно:

Код:
#include "stdafx.h"
#define _WIN32_WINNT 0x0400
#include "stdio.h"
#include "windows.h"

int
main(int argc, char *argv[])
{
  WIN32_FIND_DATA FindFileData;
  HANDLE hFind;
  FILE* fp=0;

  char myfile[20];
  strcpy(myfile,"*.lvl");   //хочу искать файлы типа .lvl

  printf ("Target file is %s.\n", myfile);

  hFind = FindFirstFile(myfile, &FindFileData);  //находим первый файл и задаем хэндл hFind

  if (hFind == INVALID_HANDLE_VALUE) {
    printf ("Invalid File Handle. Get Last Error reports %d\n", GetLastError ());
  } else {
    printf ("The first file found is %s\n", FindFileData.cFileName);
  }

    while(FindNextFile(hFind,&FindFileData))    //пока все еще есть файлы такого типа
 
 {
     printf ("The next file found is %s\n", FindFileData.cFileName);    //выводим их тоже
     
 }
    FindClose(hFind);

  return (0);
}
16K
27 июля 2008 года
4nob1oz
34 / / 14.06.2007
Ещё какая проблема. С не понимает директив DW, а у тебя на коде в делфе они используются. Вот макрос лови, с ними заработает сие чудо на сях.

 
Код:
#define xDW(X)             \
{                           \
  __asm _emit (X) & 0xff    \
  __asm _emit (X>>8) & 0xff \
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог