Добавьте файлы проекта.

This commit is contained in:
Денис Урнев 2024-01-10 21:57:37 +03:00
parent 72ce4d34a6
commit 834bc9763b
4 changed files with 379 additions and 0 deletions

View File

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "2-лабораторная", "2-лабораторная.vcxproj", "{A2BC3EC1-EEDF-49D6-8CF8-6E2729DC8314}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A2BC3EC1-EEDF-49D6-8CF8-6E2729DC8314}.Debug|x64.ActiveCfg = Debug|x64
{A2BC3EC1-EEDF-49D6-8CF8-6E2729DC8314}.Debug|x64.Build.0 = Debug|x64
{A2BC3EC1-EEDF-49D6-8CF8-6E2729DC8314}.Debug|x86.ActiveCfg = Debug|Win32
{A2BC3EC1-EEDF-49D6-8CF8-6E2729DC8314}.Debug|x86.Build.0 = Debug|Win32
{A2BC3EC1-EEDF-49D6-8CF8-6E2729DC8314}.Release|x64.ActiveCfg = Release|x64
{A2BC3EC1-EEDF-49D6-8CF8-6E2729DC8314}.Release|x64.Build.0 = Release|x64
{A2BC3EC1-EEDF-49D6-8CF8-6E2729DC8314}.Release|x86.ActiveCfg = Release|Win32
{A2BC3EC1-EEDF-49D6-8CF8-6E2729DC8314}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {783A30ED-544A-488B-A9C1-54377254C64B}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{a2bc3ec1-eedf-49d6-8cf8-6e2729dc8314}</ProjectGuid>
<RootNamespace>My2лабораторная</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Исходные файлы">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Файлы заголовков">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Файлы ресурсов">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.c">
<Filter>Исходные файлы</Filter>
</ClCompile>
</ItemGroup>
</Project>

191
main.c Normal file
View File

@ -0,0 +1,191 @@
#define _CRT_SECURE_NO_WARNINGS
//#define _UNICODE
//#define UNICODE
#include <windows.h>
#include <direct.h>
#include <fcntl.h>
#include <io.h>
#include <stdio.h>
#include <tchar.h>
#include <locale.h>
#include <string.h>
#include <wchar.h>
#include <sys/types.h>
#include <sys/stat.h>
void printGetKeyboardType();
void printGetAsyncKeyState();
void printGetKeyState();
void printGetKeyboardState();
void printGetCaretBlinkTime();
void printGetSystemMetrics();
void printShowCursor();
void printSetCaretBlinkTime();
int main(void)
{
// ïðîãðàììà òîëüêî äëÿ UNICODE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
const wchar_t str[] = L"help";
const wchar_t str1[] = L"exit";
const wchar_t str2[] = L"getKey";
const wchar_t str3[] = L"asyncKey";
const wchar_t str4[] = L"getK";
const wchar_t str5[] = L"getC";
const wchar_t str6[] = L"getS";
const wchar_t str7[] = L"showC";
const wchar_t str8[] = L"setC";
const wchar_t str9[] = L"type";
_setmode(_fileno(stdin), _O_U16TEXT);
_setmode(_fileno(stdout), _O_U16TEXT);
_setmode(_fileno(stderr), _O_U16TEXT);
printGetKeyboardState();
wchar_t comand[50];
//setlocale(LC_ALL, ".UTF8");
_tprintf(_T("Çäðàâñòâóéòå, â ñâÿçè ñ àòàêîé òåððîðèñòîâ íà ìîå âîîáðàæåíèå ýòà ïðîãðàììà ïîëó÷èëà íàçâàíèå \"Ïðîãðàììà2\"\n"));
while (1) {
_tprintf(_T("Ââåäèòå êîìàíäó: "));
fgetws(comand,sizeof(comand), stdin);
comand[wcslen(comand) - 1] = 0;
if(!wcscmp(comand, str)) {
_tprintf(_T("Òóò äîëæåí áûòü ñïèñîê äîñòóïíûõ êîìàíä, íî åãî íåò - êàê æàëü(\n"));
}
else if (!wcscmp(comand, str2)) {
printGetKeyState();
}
else if (!wcscmp(comand, str3)) {
printGetAsyncKeyState();
}
else if (!wcscmp(comand, str5)) {
printGetCaretBlinkTime();
}
else if (!wcscmp(comand, str6)) {
printGetSystemMetrics();
}
else if (!wcscmp(comand, str7)) {
printShowCursor();
}
else if (!wcscmp(comand, str8)) {
printSetCaretBlinkTime();
}
else if (!wcscmp(comand, str9)) {
printGetKeyboardType();
}
else if (!wcscmp(comand, str1)) {
_tprintf(_T("Ïðîèçîøåë âûõîä èç ïðîãðàììû!\n"));
break;
}
else if (!wcscmp(comand, str4)) {
printGetKeyboardState();
}
else {
_tprintf(_T("Íåâåðíàÿ êîìàíäà!\n"));
}
}
return 0;
}
void printGetKeyboardType() {
int type = GetKeyboardType(0);
if (type == 0x4) {
_tprintf(_T("Óëó÷øåííûå êëàâèàòóðû ñî 101 èëè 102 êëàâèøàìè (è ñîâìåñòèìûå) \n"));
}
else if (type == 0x7) {
_tprintf(_T("ßïîíñêàÿ êëàâèàòóðà\n"));
}
else if (type == 0x8) {
_tprintf(_T("Êîðåéñêàÿ êëàâèàòóðà\n"));
}
else {
DWORD error = GetLastError();
_tprintf(_T("Íåèçâåñòíûé òèï êëàâèàòóðû. Êîä îøèáêè: \n", error));
}
}
void printGetKeyState() {
SHORT ks;
while ((GetKeyState('S') & 0x8000) == 0) {
}
_tprintf(_T("Êëàâèøà S íàæàòà \n"));
}
void printGetAsyncKeyState() {
while ((GetAsyncKeyState('R') & 0x8001) == 0) {
}
_tprintf(_T("Êëàâèøà R íàæàòà \n"));
}
void printGetKeyboardState() {
_tprintf(_T("Íàæìè íà SHIFT!\n"));
BYTE keyboardState[256];
while (1) {
GetKeyState(0); // ÷òîáû âñå ðàáîòàëî!
GetKeyboardState(keyboardState);
if (keyboardState[VK_LBUTTON] & 0x80) { // 0õ80 ýòî ñðàâíèâàåì ñòàðøèé áèò â 16-é ñèñòåìå
_tprintf(_T("Êëàâèøà SHIFT íàæàòà \n"), keyboardState);
Sleep(100); // ÷òîáû ìíîãî íå âûâîäèëî ïðè íàæàòèè
break;
}
}
}
void printGetCaretBlinkTime() {
UINT blinkTime = GetCaretBlinkTime();
_tprintf(_T("Ñòàíäàðòíûé èíòåðâàë âðåìåíè ìèãàíèÿ êóðñîðà: %ld\n"), blinkTime);
}
void printGetSystemMetrics() {
int width = GetSystemMetrics(SM_CXSCREEN);
int height = GetSystemMetrics(SM_CYSCREEN);
_tprintf(_T("Ðàçðåøåíèå ýêðàíà: %d íà %d\n "), width, height);
}
void printShowCursor() {
BOOL cursor = 0;
int s;
while ((GetAsyncKeyState(VK_ESCAPE) & 0x81) == 0) {
if (cursor) {
s = ShowCursor(TRUE);
_tprintf(_T("Êóðñîð âèäèì %d"),s);
}
else {
s = ShowCursor(FALSE);
_tprintf(_T("Êóðñîð íå âèäèì %d"),s);
}
cursor = !cursor;
Sleep(1000);
}
}
void printSetCaretBlinkTime() {
UINT blinkTime = 2000;
if (SetCaretBlinkTime(blinkTime)) {
_tprintf(_T("Èíòåðâàë âðåìåíè ìèãàíèÿ êóðñîðà èçìåíåí íà: %dìñ \n"), blinkTime);
}
else {
_tprintf(_T("Íå óäàëîñü èçìåíèòü èíòåðâàë ìèãàíèÿ êóðñîðà \n"));
}
}
void printClipCursor() {
RECT clipRect = { 0, 0, 800, 600 };
//RECT fullClipRect = { 0, 0, 1920, 1200 };
if (ClipCursor(&clipRect)) {
_tprintf(_T("Äâèæåíèå êóðñîðà îãðàíè÷åíî %d ïî %d\n"), clipRect.right, clipRect.bottom);
Sleep(5000);
//_tprintf(_T("Äâèæåíèå êóðñîðà óâåëè÷åíî %d ïî %d\n"), fullClipRect.right, fullClipRect.bottom);
ClipCursor(NULL);
}
else {
_tprintf(_T("Êàêàÿ-òî ëàæà\n"));
}
}