Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dragwor
-60 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 112
#1

Код из CodeBlocks не работает в VS 2013 - C++

17.11.2015, 15:16. Просмотров 314. Ответов 4
Метки нет (Все метки)

Есть код программы, который прекрасно работает в CodeBlocs, но не работает в VS 2013
Как сделать, чтобы он работал в в VS 2013?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include <iostream>
#include <string>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    HANDLE procHandle = GetCurrentProcess();
    //Запуск notepad.exe с помощю CreateProcess
    STARTUPINFO si = { sizeof(si) };
 
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = SW_SHOWNORMAL;
 
    PROCESS_INFORMATION pinfo;
 
    memset(&pinfo, 0, sizeof(pinfo));
 
    CreateProcess(NULL, "C:\\windows\\notepad.exe",
        NULL, NULL, false, 0, NULL, NULL, &si, &pinfo);
    DWORD prVers = GetProcessVersion(pinfo.dwProcessId); //Получаем id созданного процесса
    //Информация о текущем процессе (командная строка)
    //получаем идентификатор процесса
    DWORD p = GetCurrentProcessId();
    //получаем HANDLE процесса (открываем процесс)
    HANDLE hCur = OpenProcess(PROCESS_ALL_ACCESS | PROCESS_QUERY_INFORMATION,
        true, GetCurrentProcessId());
    DWORD i, code, pr, sh, sh1;
    int k;
    char buf[100];
    char *b;
    cout<<"Information about current process\n";
 
 
    HANDLE hMutex = CreateMutex(NULL, FALSE, NULL);
    HANDLE hMutexDup, hThread;
    DWORD dwThreadId;
 
    cout << "Process ID ->" << p << "\n";
    cout << "Deskriptor tekushego processa " << DuplicateHandle(GetCurrentProcess(), hMutex, GetCurrentProcess(), &hMutexDup, 0, FALSE, DUPLICATE_SAME_ACCESS) << "\n";
    //Выводим приоритет текущего процесса
 
    DWORD priorityClass = GetPriorityClass(procHandle);
    cout << "Priority Class of current process is set to : ";
    switch (priorityClass)
    {
    case HIGH_PRIORITY_CLASS:
        cout << "HIGH_PRIORITY_CLASS\r\n";
        break;
    case IDLE_PRIORITY_CLASS:
        cout << "IDLE_PRIORITY_CLASS\r\n";
        break;
    case NORMAL_PRIORITY_CLASS:
        cout << "NORMAL_PRIORITY_CLASS\r\n";
        break;
    case REALTIME_PRIORITY_CLASS:
        cout << "REALTIME_PRIORITY_CLASS\r\n";
        break;
    default:
        cout << "Unknown priority class\r\n";
    }
 
    //Получаем информацию о запущенном процессе
 
    cout << "\nId of exec process " << prVers << "\n";
    //Выводим дескриптор запущенного процесса
    cout << "Deskriptor zapushennogo processa " << pinfo.hProcess << "\n";
 
    //выводим приоритет для запущенного процесса
 
    DWORD priorityClass2 = GetPriorityClass(pinfo.hProcess);
    cout << "Priority Class of exec process is set to : ";
    switch (priorityClass2)
    {
    case HIGH_PRIORITY_CLASS:
        cout << "HIGH_PRIORITY_CLASS\r\n";
        break;
    case IDLE_PRIORITY_CLASS:
        cout << "IDLE_PRIORITY_CLASS\r\n";
        break;
    case NORMAL_PRIORITY_CLASS:
        cout << "NORMAL_PRIORITY_CLASS\r\n";
        break;
    case REALTIME_PRIORITY_CLASS:
        cout << "REALTIME_PRIORITY_CLASS\r\n";
        break;
    default:
        cout << "Unknown priority class\r\n";
    }
 
    //Устанавливаем приоритет для текущего процесса
    int priority;
    cout << "vvedite prioritet current process: 1 - high, 2-idle, 3-normal, 4-realtime ";
    cin >> priority;
    switch (priority)
    {
    case 1:
        SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS);
        cout << "High";
        break;
    case 2:
        SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS);
        cout << "IDLE";
        break;
    case 3:
        SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
        cout << "NORMAL";
        break;
    case 4:
        SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
        cout << "REALTIME";
        break;
    default:
        cout << "error";
        break;
    }
    cout << "\n";
 
    system("PAUSE");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2015, 15:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Код из CodeBlocks не работает в VS 2013 (C++):

std::cout в CodeBlocks неправильно работает? - C++
Ассоциативность у std::cout должна быть слева направо а этот пример в CodeBlocks доказывает противоположное. Добавляю в конец вектора два...

Чтение из файла в CodeBlocks работает, а в QtCreator - нет - C++
Один и тот же компилятор (LLVM Clang): в CodeBlocks код работает, в QtCreator - нет. То же самое с MinGW. Один и тот же MinGW: в...

Не могу перекинуть код с c++6.0 в vs 2013 C++ - C++
Я перекидываю с visual C++6.0 на 2013 visual studio c++. вот код : #include &quot;stdafx.h&quot; #include &quot;vector&quot; #include &quot;string&quot; ...

Не работает функция gets() в VS 2013 - C++
Не работает функция gets() в Visual Studio 2013 Получается ось такая ошибка: &quot;&gt;d:\прога\проект1\проект1\исходный код.cpp(15): error...

Не работает русский язык в Visual Studio 2013 - C++
Заранее извиняюсь, если такая тема уже есть, но на форуме я подобную тему найти не смог... Итак, дело в том, что когда я создаю программу...

зайти в код сайта и сделать так чтобы рядом с вкладкой 2012/2013 появилась новая вкладка 2013/2014 год - PHP БД
Здравствуйте, срочно нужна ваша помощь, дали сайт ceod.ru , на главной странице видите карту мониторинга? а сверху надпись 2012/2013 год,...

4
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
17.11.2015, 15:29 #2
А какова причина неработоспособности?
0
Dragwor
-60 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 112
17.11.2015, 15:42  [ТС] #3
Код
error C2664: "BOOL CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION)": невозможно преобразовать аргумент 2 из "const char [23]" в "LPWSTR"	c:\users\server\documents\visual studio 2013\projects\testing_task4_client_c++\testing_task4_client_c++\testing_task4_client_c++.cpp	27	1	testing_task4_client_c++
Код
IntelliSense: аргумент типа "const char *" несовместим с параметром типа "LPWSTR"	c:\Users\Server\Documents\Visual Studio 2013\Projects\testing_task4_client_c++\testing_task4_client_c++\testing_task4_client_c++.cpp	26	22	testing_task4_client_c++
Добавлено через 46 секунд
Ругается на данную строку
C++
1
CreateProcess(NULL, "C:\\windows\\notepad.exe", NULL, NULL, false, 0, NULL, NULL, &si, &pinfo);
0
Ilot
Эксперт С++
1826 / 1184 / 232
Регистрация: 16.05.2013
Сообщений: 3,119
Записей в блоге: 5
Завершенные тесты: 1
17.11.2015, 15:46 #4
C++
1
CreateProcess(NULL, TEXT("C:\\windows\\notepad.exe"), NULL, NULL, false, 0, NULL, NULL, &si, &pinfo);
0
Dragwor
-60 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 112
18.11.2015, 13:05  [ТС] #5
Добавлено через 21 час 13 минут
Вот сама ошибка при компиляции данного кода
C++
1
2
3
Необработанное исключение типа "System.AccessViolationException" в testing_task2_c++.exe
Дополнительные сведения: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
CreateProcessW(Char* , Char* , _SECURITY_ATTRIBUTES* , _SECURITY_ATTRIBUTES * , Int32 , UInt32 , Void* , Char* , _STARTUPINFOW* , _PROCESS_INFORMATION* ) в wmain(Int32 argc, Char** argv) в c:\users\seruer\documents\oisual studio 20 13\projects\testing_task2_c++\testing_task2_c++\testing_task2_c++.cpp:строка 25 в _wnainCRTStartup()
Вот код программы, чуть измененный
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// testing_task2_c++.cpp: главный файл проекта.
 
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include <iostream>
#include <string>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    HANDLE procHandle = GetCurrentProcess();
    //Запуск notepad.exe с помощю CreateProcess
    STARTUPINFO si;
    si.cb = sizeof(si);
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = SW_SHOWNORMAL;
 
    PROCESS_INFORMATION pinfo;
 
    memset(&pinfo, 0, sizeof(pinfo));
    
    CreateProcessW(NULL, TEXT("C:\\windows\\notepad.exe"), NULL, NULL, false, 0, NULL, NULL, &si, &pinfo);
 
    DWORD prVers = GetProcessVersion(pinfo.dwProcessId); //Получаем id созданного процесса
    //Информация о текущем процессе (командная строка)
    //получаем идентификатор процесса
    DWORD p = GetCurrentProcessId();
    //получаем HANDLE процесса (открываем процесс)
    HANDLE hCur = OpenProcess(PROCESS_ALL_ACCESS | PROCESS_QUERY_INFORMATION,
        true, GetCurrentProcessId());
    DWORD i, code, pr, sh, sh1;
    int k;
    char buf[100];
    char *b;
    cout << "Information about current process\n";
 
 
    HANDLE hMutex = CreateMutex(NULL, FALSE, NULL);
    HANDLE hMutexDup, hThread;
    DWORD dwThreadId;
 
    cout << "Process ID ->" << p << "\n";
    cout << "Deskriptor tekushego processa " << DuplicateHandle(GetCurrentProcess(), hMutex, GetCurrentProcess(), &hMutexDup, 0, FALSE, DUPLICATE_SAME_ACCESS) << "\n";
    //Выводим приоритет текущего процесса
 
    DWORD priorityClass = GetPriorityClass(procHandle);
    cout << "Priority Class of current process is set to : ";
    switch (priorityClass)
    {
    case HIGH_PRIORITY_CLASS:
        cout << "HIGH_PRIORITY_CLASS\r\n";
        break;
    case IDLE_PRIORITY_CLASS:
        cout << "IDLE_PRIORITY_CLASS\r\n";
        break;
    case NORMAL_PRIORITY_CLASS:
        cout << "NORMAL_PRIORITY_CLASS\r\n";
        break;
    case REALTIME_PRIORITY_CLASS:
        cout << "REALTIME_PRIORITY_CLASS\r\n";
        break;
    default:
        cout << "Unknown priority class\r\n";
    }
 
    //Получаем информацию о запущенном процессе
 
    cout << "\nId of exec process " << prVers << "\n";
    //Выводим дескриптор запущенного процесса
    cout << "Deskriptor zapushennogo processa " << pinfo.hProcess << "\n";
 
    //выводим приоритет для запущенного процесса
 
    DWORD priorityClass2 = GetPriorityClass(pinfo.hProcess);
    cout << "Priority Class of exec process is set to : ";
    switch (priorityClass2)
    {
    case HIGH_PRIORITY_CLASS:
        cout << "HIGH_PRIORITY_CLASS\r\n";
        break;
    case IDLE_PRIORITY_CLASS:
        cout << "IDLE_PRIORITY_CLASS\r\n";
        break;
    case NORMAL_PRIORITY_CLASS:
        cout << "NORMAL_PRIORITY_CLASS\r\n";
        break;
    case REALTIME_PRIORITY_CLASS:
        cout << "REALTIME_PRIORITY_CLASS\r\n";
        break;
    default:
        cout << "Unknown priority class\r\n";
    }
 
    //Устанавливаем приоритет для текущего процесса
    int priority;
    cout << "vvedite prioritet current process: 1 - high, 2-idle, 3-normal, 4-realtime ";
    cin >> priority;
    switch (priority)
    {
    case 1:
        SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS);
        cout << "High";
        break;
    case 2:
        SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS);
        cout << "IDLE";
        break;
    case 3:
        SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
        cout << "NORMAL";
        break;
    case 4:
        SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
        cout << "REALTIME";
        break;
    default:
        cout << "error";
        break;
    }
    cout << "\n";
 
    system("PAUSE");
    return 0;
}
0
18.11.2015, 13:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2015, 13:05
Привет! Вот еще темы с ответами:

не компилируется код Codeblocks - C++ Linux
Написал программу и пытался скомпилировать с помощью CodeBlocks, но выдает это

Работа с excel: 11 версия не работает с 2010 офисом, но работает с 2007, 2013 - C++/CLI
Имеются несколько Microsoft.Office.Interop.Excel.dll,которые используются для записи в excel документ. Проблема в том что 11 версия не...

Fopen не работает в VS 2013 - C (СИ)
ребята, написал код в visual studio 2013, но она не хочет компилировать и выдаёт ошибку с fopen. что делать?

KIS 2013 не работает - Антивирусы
Доброго времени суток. Отключился KIS 2013 на 2 ноутбуках. Пишет &quot;компоненты защиты отключены&quot; и не обновляется тоже. Несколько дней...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru