2 Commits
l4 ... l2
Author SHA1 Message Date
Суслов Роман 8b58ef014d L2 - v1.0 2023-10-07 17:43:11 +03:00
Суслов Роман b9aa0294f6 v1.1 2023-09-28 15:08:33 +03:00
7 changed files with 199 additions and 79 deletions
+1 -7
View File
@@ -1,8 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module type="CPP_MODULE" version="4"> <module classpath="CIDR" type="CPP_MODULE" version="4" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/main.c" charset="windows-1251" />
</component>
</project>
+1
View File
@@ -0,0 +1 @@
Hello, World!
+169 -71
View File
@@ -1,7 +1,11 @@
#include <stdio.h> #include <stdio.h>
#include <windows.h> #include <windows.h>
#include <locale.h> #include <locale.h>
#include <unistd.h>
// Ëàáîðàòîðíàÿ ðàáîòà ¹ 2 - óñòðîéñòâà ðó÷íîãî ââîäà
// --- Èíôîðìàöèÿ î êëàâèàòóðå
int getLogicalDriveStrings() { int getLogicalDriveStrings() {
printf("- GetLogicalDriveStrings:\n"); printf("- GetLogicalDriveStrings:\n");
char buffer[4096]; // ñàì áóôåð äëÿ ñòðîêè char buffer[4096]; // ñàì áóôåð äëÿ ñòðîêè
@@ -42,13 +46,13 @@ int getVolumeInformation() {
} }
// --- // ---
long getFileSize() { long getFileSize(LPCSTR path) {
printf("- GetFileSize:\n"); printf("- GetFileSize:\n");
HANDLE hFile; HANDLE hFile;
DWORD fileSize; DWORD fileSize;
unsigned long structLargeInt; unsigned long structLargeInt;
// Îòêðûòèå ôàéëà // Îòêðûòèå ôàéëà
hFile = CreateFile((LPCSTR) "../text.txt", hFile = CreateFile(path,
GENERIC_READ, GENERIC_READ,
FILE_SHARE_READ, FILE_SHARE_READ,
NULL, NULL,
@@ -101,13 +105,13 @@ int getWindowsDirectory() {
printf("Âèíäîñâ ïàïêà òóò: %s\n", windowsDir); printf("Âèíäîñâ ïàïêà òóò: %s\n", windowsDir);
return 0; return 0;
} }
int compareFileTime() { int compareFileTime(LPCSTR path_1, LPCSTR path_2) {
printf("- CompareFileTime:\n"); printf("- CompareFileTime:\n");
FILETIME fileTime1; FILETIME fileTime1;
FILETIME fileTime2; FILETIME fileTime2;
// ïåðâûé ôàéë // ïåðâûé ôàéë
HANDLE file1 = CreateFile((LPCSTR) "../text.txt", HANDLE file1 = CreateFile(path_1,
GENERIC_READ, GENERIC_READ,
FILE_SHARE_READ, FILE_SHARE_READ,
NULL, NULL,
@@ -122,7 +126,7 @@ int compareFileTime() {
CloseHandle(file1); CloseHandle(file1);
// Îòêðûâàåì âòîðîé ôàéë // Îòêðûâàåì âòîðîé ôàéë
HANDLE file2 = CreateFile((LPCSTR) "../text2.txt", HANDLE file2 = CreateFile(path_2,
GENERIC_READ, GENERIC_READ,
FILE_SHARE_READ, FILE_SHARE_READ,
NULL, NULL,
@@ -157,7 +161,7 @@ int setLocalTime() {
// Çàïîëíåíèå ñòðóêòóðû SYSTEMTIME äàííûìè òåêóùåãî âðåìåíè // Çàïîëíåíèå ñòðóêòóðû SYSTEMTIME äàííûìè òåêóùåãî âðåìåíè
GetLocalTime(&systemTime); GetLocalTime(&systemTime);
printf("\nÄàòà è âðåìÿ ÄÎ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n", printf("Äàòà è âðåìÿ ÄÎ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n",
systemTime.wDay, systemTime.wMonth, systemTime.wYear, systemTime.wDay, systemTime.wMonth, systemTime.wYear,
systemTime.wHour, systemTime.wMinute, systemTime.wSecond); systemTime.wHour, systemTime.wMinute, systemTime.wSecond);
@@ -172,50 +176,42 @@ int setLocalTime() {
SetLocalTime(&systemTime); SetLocalTime(&systemTime);
printf("Âðåìÿ óñïåøíî èçìåíåíî\n"); printf("Âðåìÿ óñïåøíî èçìåíåíî\n");
printf("\nÄàòà è âðåìÿ ÏÎÑËÅ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n", printf("Äàòà è âðåìÿ ÏÎÑËÅ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n",
systemTime.wDay, systemTime.wMonth, systemTime.wYear, systemTime.wDay, systemTime.wMonth, systemTime.wYear,
systemTime.wHour, systemTime.wMinute, systemTime.wSecond); systemTime.wHour, systemTime.wMinute, systemTime.wSecond);
return 0; return 0;
} }
int setFileAttributes() { void getFileAttributes(LPCSTR path){
DWORD fileAttributes = GetFileAttributes(path);
if (fileAttributes & FILE_ATTRIBUTE_READONLY) {
printf("\n/Read-only");
}
if (fileAttributes & FILE_ATTRIBUTE_HIDDEN) {
printf("\n/Hidden");
}
if (fileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
printf("\n/Directory");
}// è òàê äàëåå äëÿ äðóãèõ àòðèáóòîâ ôàéëà...
printf("\n");
}
int setFileAttributes(LPCSTR path) {
printf("- SetFileAttributes:\n"); printf("- SetFileAttributes:\n");
// Góòü ê ôàéëó // Góòü ê ôàéëó
LPCWSTR filePath = L"..\\text3.txt";
// Ñáðàñûâàåì àòðèáóòû ôàéëà // Ñáðàñûâàåì àòðèáóòû ôàéëà
SetFileAttributes((LPCSTR) filePath, (DWORD) NULL); SetFileAttributes(path, (DWORD) NULL);
// Òåêóùèå àòðèáóòû ôàéëà // Òåêóùèå àòðèáóòû ôàéëà
DWORD fileAttributes = GetFileAttributes((LPCSTR) filePath);
printf("\tÒåêóùèå àòðèáóòû ôàéëà ÄÎ çàìåíû: "); printf("\tÒåêóùèå àòðèáóòû ôàéëà ÄÎ çàìåíû: ");
if (fileAttributes & FILE_ATTRIBUTE_READONLY) { getFileAttributes(path);
printf("\n- Read-only");
}
if (fileAttributes & FILE_ATTRIBUTE_HIDDEN) {
printf("\n- Hidden");
}
if (fileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
printf("\n- Directory");
}// è òàê äàëåå äëÿ äðóãèõ àòðèáóòîâ ôàéëà...
printf("\n");
// Óñòàíàâëèâàåì àòðèáóòû ôàéëà // Óñòàíàâëèâàåì àòðèáóòû ôàéëà
DWORD newFileAttributes = FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY |fileAttributes; DWORD newFileAttributes = FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY;
BOOL result = SetFileAttributes((LPCSTR) filePath, (DWORD) newFileAttributes); BOOL result = SetFileAttributes( path, (DWORD) newFileAttributes);
fileAttributes = GetFileAttributes((LPCSTR) filePath);
printf("\tÒåêóùèå àòðèáóòû ôàéëà ÏÎÑËÅ çàìåíû: "); printf("\tÒåêóùèå àòðèáóòû ôàéëà ÏÎÑËÅ çàìåíû: ");
if (fileAttributes & FILE_ATTRIBUTE_READONLY) {
printf("\n- Read-only"); getFileAttributes(path);
}
if (fileAttributes & FILE_ATTRIBUTE_HIDDEN) {
printf("\n- Hidden");
}
if (fileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
printf("\n- Directory");
}// è òàê äàëåå äëÿ äðóãèõ àòðèáóòîâ ôàéëà...
printf("\n");
return 0; return 0;
} }
@@ -257,46 +253,148 @@ int createFile() {
return 0; return 0;
} }
void copyFile(const char* sourceFile, const char* destinationFile) {
printf("- CopyFile:\n");
FILE* source = fopen(sourceFile, "rb"); // --- Èíôîðìàöèÿ î êëàâèàòóðå
FILE* destination = fopen(destinationFile, "wb"); void getKeyboardType(){
printf("\t- getKeyboardType()\n");
// Êîïèðóåì ñîäåðæèìîå ôàéëà BYTE typeValue;
char buffer[1024]; typeValue = GetKeyboardType(0);
size_t bytesRead; printf("- Èíôîðìàöèÿ î êëàâèàòóðå:\n");
while ((bytesRead = fread(buffer, 1, sizeof(buffer), source)) > 0) { switch (typeValue) {
fwrite(buffer, 1, bytesRead, destination); case 1:
printf("83-êëàâèøíàÿ êëàâèàòóðà äëÿ IBM PC/XT -ñîâìåñòèìûõ êîìïüþòåðîâ\n");
break;
case 2:
printf("102-êëàâèøíàÿ êëàâèàòóðà Olivetti\n");
break;
case 3:
printf("IBM PC/AT -ñîâìåñòèìàÿ êëàâèàòóðà (84êëàâèøè)\n");
break;
case 4:
printf("Ðàñøèðåííàÿ IBM-êëàâèàòóðà (101- èëè 102 êëàâèøè)\n");
break;
case 5:
printf("Êëàâèàòóðà Nokia 1050\n");
break;
case 6:
printf("Êëàâèàòóðà Nokia 9140\n");
break;
case 7:
printf("ßïîíñêàÿ êëàâèàòóðà\n");
break;
default:
printf("Âèäèìî êëàâèàòóðû íå ñóùåñòâóåò\n");
break;
} }
printf("×èñëî ôóíêöèîíàëüíûõ êëàâèø = %d\n", GetKeyboardType(2L));
} // ïîçâîëÿåò ïîëó÷èòü òèï êëàâèàòóðû è êîëè÷åñòâî ôóíêöèîíàëüíûõ êëàâèø
void getKeyboardState(){
printf("\n\t- getKeyboardState()\n");
BYTE keyState[256] = {0};
// Çàêðûâàåì ôàéëû // Ïîëó÷åíèå ñîñòîÿíèÿ âñåõ êëàâèø
fclose(source); GetKeyboardState(keyState);
fclose(destination);
printf("Ôàéë óñïåøíî ñêîïèðîâàí.\n"); // Âûâîä íîìåðîâ íàæàòûõ êëàâèø â êîíñîëü
} printf("Íà ìîìåíò çàïóñêà ïðîãðàììû áûëè íàæàòû êëàâèøè ïîä íîìåðàìè:\n");
for (int i = 0; i < 256; i++) {
if (keyState[i] & 0x80) {
printf("Êëàâèøà %d\n", i);
}
}
} // ïîçâîëÿåò ïîëó÷èòü òåêóùåå ñîñòîÿíèå âñåõ êëàâèø (êëàâèàòóðû è ìûøè)
// --- Èíôîðìàöèÿ î ìûøè
void getCursorPos(){
printf("\t- getCursorPos()\n");
POINT cp;
GetCursorPos(&cp);
printf("Òåêóùàÿ ïîçèöèÿ êóðñîðà: (%ld, %ld)\n", cp.x, cp.y);
} // óêàçûâàåò ïîëîæåíèå êóðñîðà ìûøè
void getCaretBlinkTime(){
printf("\n\t- getCaretBlinkTime()\n");
printf("Âðåìÿ ìåðöàíèÿ êàðåòêè - %dìñ\n", GetCaretBlinkTime());
} // ïîçâîëÿåò ïîëó÷èòü âðåìÿ ìåðöàíèÿ êàðåòêè
void getSystemMetrics(){
printf("\n\t- getSystemMetrics()\n");
printf("Êîëè÷åñòâî êíîïîê ìûøè: %d\n", GetSystemMetrics(SM_CMOUSEBUTTONS));
} // ïîçâîëÿåò ïîëó÷èòü êîëè÷åñòâî êíîïîê ìûøè
// --- Óïðàâëÿþùèå ôóíêöèè
void showCursor(){
printf("\t- showCursor()\n");
printf ("Ñåé÷àñ êóðñîð èñ÷åçíåò íà 3 ñåê\n");
// CHAR age;
// scanf("%c", &age);
// sleep(1);
ShowCursor(FALSE);
// scanf("%c", &age);
sleep(3);
ShowCursor(TRUE);
printf ("Êóðñîð âåðíóëñÿ\n");
} // ïîêàçûâàåò è ñêðûâàåò êóðñîð
void swapMouseButton(){
printf("\n\t- swapMouseButton()\n");
printf ("Ñåé÷àñ íà 5 ñåêóíä îñíîâíûå êíîïêè ìûøè ïîìåíÿþòñÿ ìåñòàìè\n");
SwapMouseButton (1);
sleep(5);
SwapMouseButton (0);
printf ("Êíîïêè ìûøè âåðíóëèñü íà ñâîè ìåñòà\n");
} // ïîçâîëÿåò ïîìåíÿòü ôóíêöèè êíîïîê ìåæäó ñîáîé
void setCaretBlinkTime(){
printf("\n\t- setCaretBlinkTime()\n");
UINT blinkTime = GetCaretBlinkTime();
UINT blinkTime_old = GetCaretBlinkTime();
printf ("Ñåé÷àñ íà 5 ñåêóíä êàðåòêà áóäåò ìåðöàòü áûñòðåå\n");
SetCaretBlinkTime(blinkTime / 20);
sleep(5);
SetCaretBlinkTime (blinkTime_old);
printf ("Êàðåòêà ñíîâà ìåðöàåò êàê îáû÷íî\n");
sleep(5);
} // ïîçâîëÿåò çàäàòü âðåìÿ ìåðöàíèÿ êàðåòêè
void setCursorPos(){
printf("\n\t- setCursorPos()\n");
printf("Ñåé÷àñ êóðñîð óñòàíîâèòñÿ â íóëåâóþ ïîçèöèþ\n");
INT y = 0, x = 0;
sleep(2);
SetCursorPos(x,y);
printf("Êóðñîð óñòàíîâëåí â íóëåâóþ ïîçèöèþ\n");
} // ïîçâîëÿåò çàäàòü ïîçèöèþ êóðñîðà
void systemParametersInfo(){
printf("\n\t- systemParametersInfo()\n");
PVOID mouseSpeed;
PVOID mouseSpeed_new = (PVOID) 1;
// Ïîëó÷àåì èíôîðìàöèþ î íàñòðîéêàõ ìûøè
SystemParametersInfo(SPI_GETMOUSESPEED, 0, &mouseSpeed, 0);
// Ïðîâåðÿåì ðåçóëüòàò âûïîëíåíèÿ ôóíêöèè
printf("Òåêóùàÿ ñêîðîñòü ìûøè: %d\n", mouseSpeed);
printf("Ñåé÷àñ ñêîðîñòü ìûøè ñèëüíî óìåíüøèòñÿ íà 3 ñåêóíäû\n");
sleep(1);
SystemParametersInfo(SPI_SETMOUSESPEED, 0, mouseSpeed_new, 0);
sleep(3);
SystemParametersInfo(SPI_SETMOUSESPEED, 0, mouseSpeed, 0);
printf("Ñêîðîñòü ìûøè âîññòàíîâëåíà\n");
} // äëÿ óñòàíîâêè ñêîðîñòè ïåðåìåùåíèÿ êóðñîðà
void main() {
int main() {
setlocale(LC_ALL, "Rus"); setlocale(LC_ALL, "Rus");
printf("\n----------------------------\n");
printf("\tÈíôîðìàöèÿ î äèñêàõ:\n"); printf("--------------------------------------------------");
// getLogicalDriveStrings();// + ïîëó÷åíèå áóêâ äèñêîâ printf("\n\t\t\t/ Èíôîðìàöèÿ î êëàâèàòóðå:\n");
// getVolumeInformation();// + ïîëó÷åíèå èíôîðìàöèè î ôàéëîâîé ñèñòåìå âûáðàííîãî ëîãè÷åñêîãî äèñêà getKeyboardType(); // + ïîçâîëÿåò ïîëó÷èòü òèï êëàâèàòóðû è êîëè÷åñòâî ôóíêöèîíàëüíûõ êëàâèø
printf("\n------------------------------------------\n"); getKeyboardState(); // + ïîçâîëÿåò ïîëó÷èòü òåêóùåå ñîñòîÿíèå âñåõ êëàâèø (êëàâèàòóðû è ìûøè)
printf("\tÈíôîðìàöèÿ î ôàéëàõ è äèðåêòîðèÿõ:\n");
// getFileSize();// + ïîëó÷àåò ðàçìåð ôàéëà printf("\n--------------------------------------------");
// findNextFile();// + ïîèñê ñëåäóþùåãî ôàéëà â ìåñòå ïîèñêà printf("\n\t\t\t/ Èíôîðìàöèÿ î ìûøè:\n");
// getWindowsDirectory();// + ïóòü ê îñíîâíîìó êàòàëîãó âèíäîâñ getCursorPos(); // + óêàçûâàåò ïîëîæåíèå êóðñîðà ìûøè
// compareFileTime();// + îïðåäåëåíèå êàêîé èç ôàéëîâ áîëåå íîâûé getCaretBlinkTime(); // + ïîçâîëÿåò ïîëó÷èòü âðåìÿ ìåðöàíèÿ êàðåòêè
printf("\n----------------------------\n"); getSystemMetrics(); // + ïîçâîëÿåò ïîëó÷èòü êîëè÷åñòâî êíîïîê ìûøè
printf("\tÓïðàâëÿþùèå ôóíêöèè:\n");
// setLocalTime();// + óñòàíîâèòü òåêóùóþ äàòó è âðåìÿ printf("\n----------------------------------------------");
// setFileAttributes();// + óñòàíîâêà ôàéëîâûõ àòðèáóòîâ printf("\n\t\t\t/ Óïðàâëÿþùèå ôóíêöèè:\n");
// createFile();// ñîçäàòü/îòêðûòü ôàéë // showCursor(); // - ïîêàçûâàåò è ñêðûâàåò êóðñîð
const char* sourceFile = ".//text.txt"; // swapMouseButton(); // + ïîçâîëÿåò ïîìåíÿòü ôóíêöèè êíîïîê ìåæäó ñîáîé
const char* destinationFile = ".//text33.txt"; // setCaretBlinkTime(); // +- ïîçâîëÿåò çàäàòü âðåìÿ ìåðöàíèÿ êàðåòêè
CopyFile(".//text.txt", ".//text3.txt", 0);// ñêîïèðîâàòü ôàéë // setCursorPos(); // + ïîçâîëÿåò çàäàòü ïîçèöèþ êóðñîðà
// systemParametersInfo(); // + äëÿ óñòàíîâêè ñêîðîñòè ïåðåìåùåíèÿ êóðñîðà
printf("\nÄëÿ âûõîäà íàæìèòå Enter\n");
scanf("%c");
} }
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -18,4 +18,4 @@ text.txt
text.txt text.txt
text.txt text.txt
text.txt text.txt
text.txttexttext.txtывыфвывыав text.txttexttext.txtывыфвывыавsd
+21
View File
@@ -0,0 +1,21 @@
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsanss
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
;lkadsnf;lkjsd;cjsa;dijwaijfiaejfaiosjfs;lknv;lsan
text.txttext.txttext.txt
text.txttext.txttext.txttext.txtsss
text.txttext.txttext.txttext.txt
text.txttext.txttext.txt
text.txtss
text.txt
text.txt
text.txt
text.txttexttext.txtss