Службы ос windows


JOB_INFO_1 structure contains general print-job information; the JOB_INFO_2



страница7/7
Дата12.09.2022
Размер452 Kb.
#131041
1   2   3   4   5   6   7
kontr app (5)

JOB_INFO_1 structure contains general print-job information; the JOB_INFO_2 structure has much more detailed information. The JOB_INFO_3 structure contains information about how jobs are linked.
To determine the number of print jobs in the printer queue, call the GetPrinter function with the Level parameter set to 2.
Сменить заставку рабочего стола
Если не используется ActiveDeskTop
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:/img/58.bmp", SPIF_UPDATEINIFILE);

Если используется ActiveDeskTop, использовать интерфйс IActiveDeskTop


#pragma hdrstop


#include
#include
#include "wininet.h"
#include

//------------------------------------------


#pragma argsused


int main(int argc, char* argv[])
{ HRESULT hr;
IActiveDesktop* pActiveDesktop = 0;
::CoInitialize(0);
hr = CoCreateInstance(CLSID_ActiveDesktop,
0,
CLSCTX_INPROC_SERVER,
IID_IActiveDesktop,
(void**) &pActiveDesktop);
if (FAILED(hr))
return FALSE;
pActiveDesktop->SetWallpaper(L"f:/2.jpg", 0); //установить картинку рабочего стола из файла
pActiveDesktop->ApplyChanges(AD_APPLY_ALL);
pActiveDesktop->Release();
::CoUninitialize();
return 0;
}

Перебор элементов файловой системы.


Используется API-функции FindFirstFile для поиска певого элемента и FindNextFile для следующих элеметов, удовлетворяющих условию. Информация о найденном элементе файловой системы помещается в структуру типа WIN32_FIND_DATA.

Пример рекурсивного обхода всех подпапок некоторой папки и вывода названий всех лежащих в них файлов:


#include
#include

long int nCount; //счетчик найденных файлов


void GetFileList(LPTSTR sPath);


int main(){


char sPath[MAX_PATH]= "f:\\work";//папка, относительно которой осуществляется поиск
GetFileList(sPath);
printf("rez= %d\n", nCount);
system ("PAUSE");
}

void GetFileList(LPTSTR sPath) {


WIN32_FIND_DATA pFILEDATA;


HANDLE hFile = FindFirstFile(strcat(sPath,"\\*.*"),&pFILEDATA);


sPath[strlen(sPath) - strlen(strstr(sPath,"*.*"))] = '\0';


if (hFile!=INVALID_HANDLE_VALUE) {
char * chBuf;
do {
//Пропускаем папки . и ..
if (strlen(pFILEDATA.cFileName) == 1 && strchr(pFILEDATA.cFileName,'.') !=NULL)
if (FindNextFile(hFile,&pFILEDATA) == 0)
break;
if (strlen(pFILEDATA.cFileName) == 2 && strstr(pFILEDATA.cFileName,"..") !=NULL)
if(FindNextFile(hFile,&pFILEDATA) == 0)
break;
//Если нашли директорию, запускаем поиск в ней рекурсивный поиск
if(pFILEDATA.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
GetFileList(strcat(sPath,pFILEDATA.cFileName));
sPath[strlen(sPath) - strlen(pFILEDATA.cFileName)- 1] = '\0';
}
else {

//С помощью CharToOem() отображаем имена файлов на кириллице


CharToOem(sPath,sPath);
printf("%s",sPath);
OemToChar(sPath,sPath);
CharToOem(pFILEDATA.cFileName,pFILEDATA.cFileName);
printf("%s\n",pFILEDATA.cFileName);
nCount++;
}
}
while (FindNextFile(hFile,&pFILEDATA));
}
}

Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7




База данных защищена авторским правом ©vossta.ru 2022
обратиться к администрации

    Главная страница