Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b58ef014d | ||
|
|
b9aa0294f6 |
Generated
+2
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module classpath="CIDR" type="CPP_MODULE" version="4" />
|
||||||
Generated
+6
@@ -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>
|
||||||
Generated
-1
@@ -3,7 +3,6 @@
|
|||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/APD_L1.iml" filepath="$PROJECT_DIR$/.idea/APD_L1.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/APD_L1.iml" filepath="$PROJECT_DIR$/.idea/APD_L1.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/biblioteka.iml" filepath="$PROJECT_DIR$/.idea/biblioteka.iml" />
|
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
+2
-8
@@ -1,12 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.26)
|
cmake_minimum_required(VERSION 3.26)
|
||||||
project(bib C)
|
project(untitled C)
|
||||||
|
|
||||||
set(CMAKE_C_STANDARD 11)
|
set(CMAKE_C_STANDARD 11)
|
||||||
|
|
||||||
add_library(biblioteka SHARED lib/library.c lib/library.h)
|
add_executable(untitled main.c)
|
||||||
set_target_properties(biblioteka PROPERTIES LINKER_LANGUAGE C)
|
|
||||||
|
|
||||||
add_executable(bib main.c libBib.h)
|
|
||||||
target_link_libraries(bib biblioteka)
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
Hello, World!
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
CMakeLists.txt.user
|
||||||
|
CMakeCache.txt
|
||||||
|
CMakeFiles
|
||||||
|
CMakeScripts
|
||||||
|
Testing
|
||||||
|
Makefile
|
||||||
|
cmake_install.cmake
|
||||||
|
install_manifest.txt
|
||||||
|
compile_commands.json
|
||||||
|
CTestTestfile.cmake
|
||||||
|
_deps
|
||||||
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||||
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
# User-specific stuff
|
||||||
|
.idea/**/workspace.xml
|
||||||
|
.idea/**/tasks.xml
|
||||||
|
.idea/**/usage.statistics.xml
|
||||||
|
.idea/**/dictionaries
|
||||||
|
.idea/**/shelf
|
||||||
|
# AWS User-specific
|
||||||
|
.idea/**/aws.xml
|
||||||
|
# Generated files
|
||||||
|
.idea/**/contentModel.xml
|
||||||
|
# Sensitive or high-churn files
|
||||||
|
.idea/**/dataSources/
|
||||||
|
.idea/**/dataSources.ids
|
||||||
|
.idea/**/dataSources.local.xml
|
||||||
|
.idea/**/sqlDataSources.xml
|
||||||
|
.idea/**/dynamic.xml
|
||||||
|
.idea/**/uiDesigner.xml
|
||||||
|
.idea/**/dbnavigator.xml
|
||||||
|
# Gradle
|
||||||
|
.idea/**/gradle.xml
|
||||||
|
.idea/**/libraries
|
||||||
|
# Gradle and Maven with auto-import
|
||||||
|
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||||
|
# since they will be recreated, and may cause churn. Uncomment if using
|
||||||
|
# auto-import.
|
||||||
|
# .idea/artifacts
|
||||||
|
# .idea/compiler.xml
|
||||||
|
# .idea/jarRepositories.xml
|
||||||
|
# .idea/modules.xml
|
||||||
|
# .idea/*.iml
|
||||||
|
# .idea/modules
|
||||||
|
# *.iml
|
||||||
|
# *.ipr
|
||||||
|
# CMake
|
||||||
|
cmake-build-*/
|
||||||
|
# Mongo Explorer plugin
|
||||||
|
.idea/**/mongoSettings.xml
|
||||||
|
# File-based project format
|
||||||
|
*.iws
|
||||||
|
# IntelliJ
|
||||||
|
out/
|
||||||
|
# mpeltonen/sbt-idea plugin
|
||||||
|
.idea_modules/
|
||||||
|
# JIRA plugin
|
||||||
|
atlassian-ide-plugin.xml
|
||||||
|
# Cursive Clojure plugin
|
||||||
|
.idea/replstate.xml
|
||||||
|
# SonarLint plugin
|
||||||
|
.idea/sonarlint/
|
||||||
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||||
|
com_crashlytics_export_strings.xml
|
||||||
|
crashlytics.properties
|
||||||
|
crashlytics-build.properties
|
||||||
|
fabric.properties
|
||||||
|
# Editor-based Rest Client
|
||||||
|
.idea/httpRequests
|
||||||
|
# Android studio 3.1+ serialized cache file
|
||||||
|
.idea/caches/build_file_checksums.ser
|
||||||
@@ -1,50 +1,400 @@
|
|||||||
//
|
|
||||||
// Created by rsuslov on 23.11.2023.
|
|
||||||
//
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include "libBib.h"
|
#include <locale.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
// Максимальное количество IP-адресов
|
// Ëàáîðàòîðíàÿ ðàáîòà ¹ 2 - óñòðîéñòâà ðó÷íîãî ââîäà
|
||||||
#define MAX_IP_ADDRESSES 10
|
|
||||||
// Максимальная длина IP-адреса
|
|
||||||
#define MAX_IP_ADDRESS_LENGTH 16
|
|
||||||
|
|
||||||
typedef char * (*NAME)();
|
// --- Èíôîðìàöèÿ î êëàâèàòóðå
|
||||||
|
int getLogicalDriveStrings() {
|
||||||
|
printf("- GetLogicalDriveStrings:\n");
|
||||||
|
char buffer[4096]; // ñàì áóôåð äëÿ ñòðîêè
|
||||||
|
DWORD bufSize = sizeof(buffer) - 1; // ðàçìåð áóôåðà, â êîòîðûé íóæíî çàïèñûâàòü ñòðîêó ñ äèñêàìè
|
||||||
|
|
||||||
int main(){
|
GetLogicalDriveStrings(bufSize, buffer); // Ïîëó÷åíèå ñïèñêà ëîãè÷åñêèõ äèñêîâ
|
||||||
const HINSTANCE hinstanceDll = LoadLibrary("libbiblioteka.dll"); // динамическая загрузка библиотеки
|
char *drive = buffer;
|
||||||
if (hinstanceDll == NULL){
|
while (*drive) { // ïåðåáîð äèñêîâ
|
||||||
printf("Alarme obshibka\n");
|
printf("Äèñê: %s\n", drive);
|
||||||
|
// ñëåäóþùèé äèñê
|
||||||
|
drive += strlen(drive) + 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int getVolumeInformation() {
|
||||||
|
printf("- GetVolumeInformation:\n");
|
||||||
|
char volumeName[256];
|
||||||
|
char fileSystemName[256];
|
||||||
|
DWORD serialNumber;
|
||||||
|
DWORD maxComponentLength;
|
||||||
|
DWORD fileSystemFlags;
|
||||||
|
|
||||||
|
// Ïîëó÷åíèå èíôîðìàöèè î òåêóùåì äèñêå
|
||||||
|
GetVolumeInformation("C:\\", // óêàçàòåëü íà ñòðîêó, ñîäåðæàùóþ êîðíåâîé êàòàëîã òîìà
|
||||||
|
volumeName, // áóôåð, êîòîðûé ïîëó÷èò èìÿ òîìà
|
||||||
|
sizeof(volumeName), // äëèíà áóôåðà äëÿ èìåíè òîìà
|
||||||
|
&serialNumber, // óêàçàòåëü íà ïåðåìåííóþ, êîòîðàÿ ïîëó÷èò èìÿ óêàçàííîãî òîìà
|
||||||
|
&maxComponentLength, //
|
||||||
|
&fileSystemFlags, //
|
||||||
|
fileSystemName, // áóôåð äëÿ íàçâàíèÿ ôàéëîâîé ñèñòåìû
|
||||||
|
sizeof(fileSystemName)); // ðàçìåð áóôåðà íàçâàíèÿ ôàéëîâîé ñèñòåìû
|
||||||
|
printf("Èìÿ òîìà: %s\n", volumeName);
|
||||||
|
printf("Ñåðèéíûé íîìåð: %lu\n", serialNumber);
|
||||||
|
printf("Max Component Length: %lu\n", maxComponentLength);
|
||||||
|
printf("Òèï ôàéëîâîé ñèñòåìû: %s\n", fileSystemName);
|
||||||
|
printf("File System Flags: %lu\n", fileSystemFlags);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---
|
||||||
|
long getFileSize(LPCSTR path) {
|
||||||
|
printf("- GetFileSize:\n");
|
||||||
|
HANDLE hFile;
|
||||||
|
DWORD fileSize;
|
||||||
|
unsigned long structLargeInt;
|
||||||
|
// Îòêðûòèå ôàéëà
|
||||||
|
hFile = CreateFile(path,
|
||||||
|
GENERIC_READ,
|
||||||
|
FILE_SHARE_READ,
|
||||||
|
NULL,
|
||||||
|
OPEN_EXISTING,
|
||||||
|
FILE_ATTRIBUTE_NORMAL,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
// Ïîëó÷åíèå ðàçìåðà ôàéëà
|
||||||
|
structLargeInt = GetFileSize(hFile, NULL);
|
||||||
|
|
||||||
|
// Çàêðûòèå ôàéëà
|
||||||
|
CloseHandle(hFile);
|
||||||
|
|
||||||
|
// Âûâîä ðàçìåðà ôàéëà
|
||||||
|
printf("Ðàçìåð ôàéëà: %lu áàéò\n", structLargeInt);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int findNextFile() {
|
||||||
|
printf("- FindNextFile:\n");
|
||||||
|
WIN32_FIND_DATA findData;
|
||||||
|
HANDLE hFind;
|
||||||
|
char path[MAX_PATH];
|
||||||
|
|
||||||
|
// Çàäàåì ïóòü ê äèðåêòîðèè, êîòîðóþ íóæíî ïðîñêàíèðîâàòü
|
||||||
|
strcpy(path, "..\\*");
|
||||||
|
|
||||||
|
// Íà÷èíàåì ïîèñê ïåðâîãî ôàéëà/ïàïêè â äèðåêòîðèè
|
||||||
|
hFind = FindFirstFile(path, &findData);
|
||||||
|
|
||||||
|
// Ïåðåáèðàåì âñå ôàéëû è ïàïêè â äèðåêòîðèè
|
||||||
|
do {
|
||||||
|
if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
|
||||||
|
printf("Ïàïêà: %s\n", findData.cFileName);
|
||||||
|
} else {
|
||||||
|
printf("\tÔàéë: %s\n", findData.cFileName);
|
||||||
|
}
|
||||||
|
} while (FindNextFile(hFind, &findData));
|
||||||
|
|
||||||
|
// Çàêðûòèå äåñêðèïòîðà ïîèñêà
|
||||||
|
FindClose(hFind);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int getWindowsDirectory() {
|
||||||
|
printf("- GetWindowsDirectory:\n");
|
||||||
|
char windowsDir[255]; // ñþäà çàïèøóòñÿ ñèìâîëû ïóòè
|
||||||
|
|
||||||
|
GetWindowsDirectory(windowsDir, sizeof(windowsDir));
|
||||||
|
|
||||||
|
printf("Âèíäîñâ ïàïêà òóò: %s\n", windowsDir);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int compareFileTime(LPCSTR path_1, LPCSTR path_2) {
|
||||||
|
printf("- CompareFileTime:\n");
|
||||||
|
FILETIME fileTime1;
|
||||||
|
FILETIME fileTime2;
|
||||||
|
|
||||||
|
// ïåðâûé ôàéë
|
||||||
|
HANDLE file1 = CreateFile(path_1,
|
||||||
|
GENERIC_READ,
|
||||||
|
FILE_SHARE_READ,
|
||||||
|
NULL,
|
||||||
|
OPEN_EXISTING,
|
||||||
|
FILE_ATTRIBUTE_NORMAL,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
// âðåìÿ èçìåíåíèÿ ïåðâîãî ôàéëà
|
||||||
|
GetFileTime(file1, NULL, NULL, &fileTime1);
|
||||||
|
|
||||||
|
// çàêðûâàåì ïåðâûé ôàéë
|
||||||
|
CloseHandle(file1);
|
||||||
|
|
||||||
|
// Îòêðûâàåì âòîðîé ôàéë
|
||||||
|
HANDLE file2 = CreateFile(path_2,
|
||||||
|
GENERIC_READ,
|
||||||
|
FILE_SHARE_READ,
|
||||||
|
NULL,
|
||||||
|
OPEN_EXISTING,
|
||||||
|
FILE_ATTRIBUTE_NORMAL,
|
||||||
|
NULL);
|
||||||
|
// Ïîëó÷àåì âðåìÿ èçìåíåíèÿ âòîðîãî ôàéëà
|
||||||
|
GetFileTime(file2, NULL, NULL, &fileTime2);
|
||||||
|
|
||||||
|
// Çàêðûâàåì âòîðîé ôàéë
|
||||||
|
CloseHandle(file2);
|
||||||
|
|
||||||
|
// Ñðàâíèâàåì âðåìÿ èçìåíåíèÿ ôàéëîâ
|
||||||
|
int comparisonResult = CompareFileTime(&fileTime1, &fileTime2);
|
||||||
|
|
||||||
|
if (comparisonResult == 1) {
|
||||||
|
printf("Ôàéë 1 áûë èçìåíåí ðàíüøå ôàéëà 2\n");
|
||||||
|
} else if (comparisonResult == -1) {
|
||||||
|
printf("Ôàéë 2 áûë èçìåíåí ðàíüøå ôàéëà 1\n");
|
||||||
|
} else {
|
||||||
|
printf("Âðåìÿ èçìåíåíèÿ ôàéëîâ îäèíàêîâî\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---
|
||||||
|
int setLocalTime() {
|
||||||
|
printf("- SetLocalTime:\n");
|
||||||
|
// Ñîçäàíèå ñòðóêòóðû SYSTEMTIME äëÿ óñòàíîâêè âðåìåíè
|
||||||
|
SYSTEMTIME systemTime;
|
||||||
|
|
||||||
|
// Çàïîëíåíèå ñòðóêòóðû SYSTEMTIME äàííûìè òåêóùåãî âðåìåíè
|
||||||
|
GetLocalTime(&systemTime);
|
||||||
|
printf("Äàòà è âðåìÿ ÄÎ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n",
|
||||||
|
systemTime.wDay, systemTime.wMonth, systemTime.wYear,
|
||||||
|
systemTime.wHour, systemTime.wMinute, systemTime.wSecond);
|
||||||
|
|
||||||
|
// Óâåëè÷åíèå ÷àñîâîãî çíà÷åíèÿ íà 1
|
||||||
|
if (systemTime.wHour < 23) {
|
||||||
|
systemTime.wHour++;
|
||||||
|
} else {
|
||||||
|
systemTime.wHour = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Óñòàíîâêà íîâîãî âðåìåíè ñ èñïîëüçîâàíèåì SetLocalTime
|
||||||
|
SetLocalTime(&systemTime);
|
||||||
|
printf("Âðåìÿ óñïåøíî èçìåíåíî\n");
|
||||||
|
|
||||||
|
printf("Äàòà è âðåìÿ ÏÎÑËÅ èçìåíåíèÿ: %02d-%02d-%d %02d:%02d:%02d\n",
|
||||||
|
systemTime.wDay, systemTime.wMonth, systemTime.wYear,
|
||||||
|
systemTime.wHour, systemTime.wMinute, systemTime.wSecond);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
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");
|
||||||
|
// Góòü ê ôàéëó
|
||||||
|
// Ñáðàñûâàåì àòðèáóòû ôàéëà
|
||||||
|
SetFileAttributes(path, (DWORD) NULL);
|
||||||
|
// Òåêóùèå àòðèáóòû ôàéëà
|
||||||
|
printf("\tÒåêóùèå àòðèáóòû ôàéëà ÄÎ çàìåíû: ");
|
||||||
|
getFileAttributes(path);
|
||||||
|
|
||||||
|
// Óñòàíàâëèâàåì àòðèáóòû ôàéëà
|
||||||
|
DWORD newFileAttributes = FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_DIRECTORY;
|
||||||
|
BOOL result = SetFileAttributes( path, (DWORD) newFileAttributes);
|
||||||
|
|
||||||
|
printf("\tÒåêóùèå àòðèáóòû ôàéëà ÏÎÑËÅ çàìåíû: ");
|
||||||
|
|
||||||
|
getFileAttributes(path);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int createFile() {
|
||||||
|
printf("- CreateFile:\n");
|
||||||
|
HANDLE hFile;
|
||||||
|
char* fileName = "example.txt";
|
||||||
|
|
||||||
|
// Ñîçäàíèå ôàéëà
|
||||||
|
hFile = CreateFile(fileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||||
|
|
||||||
|
// Çàïèñü â ôàéë
|
||||||
|
char* data = "Hello, World!";
|
||||||
|
DWORD bytesWritten;
|
||||||
|
WriteFile(hFile, data, strlen(data), &bytesWritten, NULL);
|
||||||
|
|
||||||
|
// Çàêðûòèå ôàéëà
|
||||||
|
CloseHandle(hFile);
|
||||||
|
|
||||||
|
// Ïîâòîðíîå îòêðûòèå ôàéëà
|
||||||
|
hFile = CreateFile(fileName, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||||
|
|
||||||
|
// ×òåíèå èç ôàéëà
|
||||||
|
const int bufferSize = 100;
|
||||||
|
char buffer[bufferSize];
|
||||||
|
DWORD bytesRead;
|
||||||
|
if (!ReadFile(hFile, buffer, bufferSize, &bytesRead, NULL))
|
||||||
|
{
|
||||||
|
printf("Failed to read from file.\n");
|
||||||
|
CloseHandle(hFile);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
// получение функций из библиотеки
|
|
||||||
const NAME getIpAddresses = (NAME) GetProcAddress(hinstanceDll, "getIpAddresses");
|
|
||||||
|
|
||||||
if (getIpAddresses != NULL){
|
// Âûâîä ñîäåðæèìîãî ôàéëà
|
||||||
char **ipAddresses = (char **) getIpAddresses();
|
printf("Ñîäåðæèìîå ôàéëà: %.*s\n", bytesRead, buffer);
|
||||||
if (ipAddresses == NULL) {
|
|
||||||
printf("Failed to retrieve IP addresses\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Выводим IP-адреса
|
// Çàêðûòèå ôàéëà
|
||||||
for (int i = 0; i < MAX_IP_ADDRESSES; i++) {
|
CloseHandle(hFile);
|
||||||
printf("IP address %d: %s\n", i+1, ipAddresses[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Освобождаем память
|
return 0;
|
||||||
for (int i = 0; i < MAX_IP_ADDRESSES; i++) {
|
}
|
||||||
free(ipAddresses[i]);
|
|
||||||
}
|
|
||||||
free(ipAddresses);
|
|
||||||
|
|
||||||
|
// --- Èíôîðìàöèÿ î êëàâèàòóðå
|
||||||
|
void getKeyboardType(){
|
||||||
|
printf("\t- getKeyboardType()\n");
|
||||||
|
BYTE typeValue;
|
||||||
|
typeValue = GetKeyboardType(0);
|
||||||
|
printf("- Èíôîðìàöèÿ î êëàâèàòóðå:\n");
|
||||||
|
switch (typeValue) {
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
else {
|
printf("×èñëî ôóíêöèîíàëüíûõ êëàâèø = %d\n", GetKeyboardType(2L));
|
||||||
printf("Not Find function");
|
} // ïîçâîëÿåò ïîëó÷èòü òèï êëàâèàòóðû è êîëè÷åñòâî ôóíêöèîíàëüíûõ êëàâèø
|
||||||
}
|
void getKeyboardState(){
|
||||||
const long result_2 = factorial(4);
|
printf("\n\t- getKeyboardState()\n");
|
||||||
|
BYTE keyState[256] = {0};
|
||||||
|
|
||||||
printf("Result 2: %d\n", result_2);
|
// Ïîëó÷åíèå ñîñòîÿíèÿ âñåõ êëàâèø
|
||||||
FreeLibrary(hinstanceDll);
|
GetKeyboardState(keyState);
|
||||||
}
|
|
||||||
|
// Âûâîä íîìåðîâ íàæàòûõ êëàâèø â êîíñîëü
|
||||||
|
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() {
|
||||||
|
setlocale(LC_ALL, "Rus");
|
||||||
|
|
||||||
|
printf("--------------------------------------------------");
|
||||||
|
printf("\n\t\t\t/ Èíôîðìàöèÿ î êëàâèàòóðå:\n");
|
||||||
|
getKeyboardType(); // + ïîçâîëÿåò ïîëó÷èòü òèï êëàâèàòóðû è êîëè÷åñòâî ôóíêöèîíàëüíûõ êëàâèø
|
||||||
|
getKeyboardState(); // + ïîçâîëÿåò ïîëó÷èòü òåêóùåå ñîñòîÿíèå âñåõ êëàâèø (êëàâèàòóðû è ìûøè)
|
||||||
|
|
||||||
|
printf("\n--------------------------------------------");
|
||||||
|
printf("\n\t\t\t/ Èíôîðìàöèÿ î ìûøè:\n");
|
||||||
|
getCursorPos(); // + óêàçûâàåò ïîëîæåíèå êóðñîðà ìûøè
|
||||||
|
getCaretBlinkTime(); // + ïîçâîëÿåò ïîëó÷èòü âðåìÿ ìåðöàíèÿ êàðåòêè
|
||||||
|
getSystemMetrics(); // + ïîçâîëÿåò ïîëó÷èòü êîëè÷åñòâî êíîïîê ìûøè
|
||||||
|
|
||||||
|
printf("\n----------------------------------------------");
|
||||||
|
printf("\n\t\t\t/ Óïðàâëÿþùèå ôóíêöèè:\n");
|
||||||
|
// showCursor(); // - ïîêàçûâàåò è ñêðûâàåò êóðñîð
|
||||||
|
// swapMouseButton(); // + ïîçâîëÿåò ïîìåíÿòü ôóíêöèè êíîïîê ìåæäó ñîáîé
|
||||||
|
// setCaretBlinkTime(); // +- ïîçâîëÿåò çàäàòü âðåìÿ ìåðöàíèÿ êàðåòêè
|
||||||
|
// setCursorPos(); // + ïîçâîëÿåò çàäàòü ïîçèöèþ êóðñîðà
|
||||||
|
// systemParametersInfo(); // + äëÿ óñòàíîâêè ñêîðîñòè ïåðåìåùåíèÿ êóðñîðà
|
||||||
|
printf("\nÄëÿ âûõîäà íàæìèòå Enter\n");
|
||||||
|
scanf("%c");
|
||||||
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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.txt
|
||||||
|
text.txttext.txttext.txttext.txt
|
||||||
|
|
||||||
|
|
||||||
|
text.txttext.txttext.txt
|
||||||
|
text.txt
|
||||||
|
text.txt
|
||||||
|
text.txt
|
||||||
|
text.txt
|
||||||
|
text.txttexttext.txtывыфвывыавsd
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user