Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Можно ли поставить хук на MessageBox, CreateFile без драйвера? https://www.cyberforum.ru/ win-api/ thread1283133.html
Можно ли поставить хук на MessageBox, CreateFile без драйвера?
C++ WinAPI Рисование на форме
При рисовании стандартными функциями GDI на окне, видны отчетливо лесенки пикселей. В современных графических редакторов, собственно, таких отчетливых лесенок пикселей(например при рисовании диоганальной линии) нет. Каким образом можно решить данную проблему?
C++ WinAPI Textbox и winapi ребят, подскажите. как с помощью вот такой вещи GetSysColor(COLOR_3DHIGHLIGHT); сделать фон текстбокса этого цвета? перебрал все, как по мне. что делать не знаю. https://www.cyberforum.ru/ win-api/ thread1282932.html C++ WinAPI Graphics error LNK1120: неразрешенных внешних элементов: 9 Хотел нарисовать картинку с помощью gdi+ что я тут написал не так? Gdiplus::Image myJPEG(L"C:\\Users\\Admin\\Documents\\visual studio 2012\\Projects\\Win32Project9\\Debug111.jpg"); Gdiplus::Graphics g(di->hDC); g.DrawImage(&myJPEG, 10, 10); вот весь код https://www.cyberforum.ru/ win-api/ thread1282842.html
C++ WinAPI COM хранилище
Начал изучать COM хранилища. Но там правда на дельфях все это. Там дан текст (создание потока в хранилище): Implementation Uses ActiveX,AxCtrls,ComObj; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Stg:IStorage; Strm:IStream; OS:TOleStream;
C++ WinAPI Запись в файл с атрибутом read only Как правильно делать? Пока видится один рабочий способ: снять атрибут read-only, записать данные, снова поставить атрибут read only. Или есть более простой вариант, например с флагами при открытии файла? WriteFile возвращает ошибку при записи в файл read only. https://www.cyberforum.ru/ win-api/ thread1282440.html
C++ WinAPI Хоткей в в пунктах меню Можно ли добавить программно строку хоткеи(например CTRL+S) к содержимым пунктам меню? Или только остается прописывать вручную? https://www.cyberforum.ru/ win-api/ thread1282266.html C++ WinAPI Юникод в массиве char и преобразование его в ANSI
Привет всем! Есть источники, который возвращает строку из char (это типо информация название данных). Все бы хорошо, но некоторые источники помещают туда юникодные строчки. Я определяю юникодная строчка или ANSI строчка, если там есть сочетание 0xD0, но преобразовать в анси не получается. Я тут написал краткий пример имитирующий данный случай. #include <windows.h> char*...
C++ WinAPI Функция MapAndLoad() работает с dll-файлом, не работает с exe-файлом Доброго времени суток. Объясните, почему программа #include <windows.h> #include <imagehlp.h> #include <stdio.h> int main(int argc,char* argv){ LOADED_IMAGE LoadedImage; PUCHAR BaseAddress; DWORD RVAExpDir,VAExpAddress; IMAGE_EXPORT_DIRECTORY* ExpTable; char* sName; https://www.cyberforum.ru/ win-api/ thread1282132.html C++ WinAPI Как рассчитать прямоугольник для текста с учётом межсимвольного интервала? Программу с текстом без применения функции изменения межсимвольного интервала (SetTextCharacterExtra(hdc, 4)) и с применением ее привожу во вложениях. То-есть текст выходит за рамки прямоугольника если выставить межсимвольный интервал. Немного кода: HDC hdc; PAINTSTRUCT ps; https://www.cyberforum.ru/ win-api/ thread1282114.html
C++ WinAPI Создать несколько экземпляров одного приложения
Доброго времени суток. Нужно создать несколько экземпляров следующего приложения: #include <iostream> #include <windows.h> #include <cstdlib> using namespace std; int f(int b); int g(int b); extern int a;
C++ WinAPI При увеличении окна до максимального появляются чёрные полосы https://www.cyberforum.ru/ win-api/ thread1281399.html
Без разницы, максимизирую или в ручную растягиваю . case WM_SIZE: { RECT rect; GetClientRect(hwnd, &rect); HBITMAP bufferBitmap = CreateCompatibleBitmap(hdc, rect.right, rect.bottom); DeleteObject(SelectObject(bufferHdc, bufferBitmap)); UpdateWindow(hwnd); }
11 / 11 / 3
Регистрация: 18.12.2011
Сообщений: 112
0

Задание с ограничениями - C++ WinAPI - Ответ 6761197

24.10.2014, 02:47. Показов 952. Ответов 5
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно есть задача по лабе написать заданиие с ограничениями для процессов, вроде все должно работать, но почему-то процесс не хочет прикрепляться к заданию GetLastError(); выдает код ошибки 5 -отказано в доступе, я не знаю куда копать =/ , все с админ правами запускаю.И еще почему-то все окна диалоговые начинают отображаться только после нажатия клавиши ALt...

вот код
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
#include <Windows.h>
#include <process.h>
#include <strsafe.h>
#include "resource.h"
 
HWND hWnd, hDlg;
HINSTANCE hInst; 
LPCTSTR szWindowClass = "Y";
LPCTSTR szTitle = "Task";
 
#define MULTIPLYER 10000000;
 
 
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
 
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    MSG msg;
 
    MyRegisterClass(hInstance);
        if (!InitInstance (hInstance, nCmdShow)) 
        {
            return FALSE;
        }
 
        while (GetMessage(&msg, NULL, 0, 0)) 
        {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
        }
        return msg.wParam;
}
 
 
 
ATOM MyRegisterClass(HINSTANCE hInstance)
{
        WNDCLASSEX wcex; 
        wcex.cbSize = sizeof(WNDCLASSEX); 
        wcex.style          = CS_HREDRAW | CS_VREDRAW;  
        wcex.lpfnWndProc    = (WNDPROC)WndProc; 
        wcex.cbClsExtra     = 0;                        
        wcex.cbWndExtra     = 0;
        wcex.hInstance      = hInstance;        
        wcex.hIcon          = LoadIcon(NULL, IDI_HAND);     
        wcex.hCursor        = LoadCursor(NULL, IDC_ARROW); 
        wcex.hbrBackground  = GetSysColorBrush(COLOR_BTNFACE);   
        wcex.lpszMenuName   = MAKEINTRESOURCE(IDR_MENU1);
        wcex.lpszClassName  = szWindowClass;    
        wcex.hIconSm        = NULL;
 
        return RegisterClassEx(&wcex);
 
}
 
 
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   
 
       hInst = hInstance;
 
       hWnd=CreateWindow(szWindowClass,
     szTitle,  
     WS_OVERLAPPEDWINDOW,
     300,   
     200,   
     30,    
     75,   
     NULL,  
     NULL,       
     hInstance, 
     NULL);    
 
       if (!hWnd)
       {
          return FALSE;
       }
       ShowWindow(hWnd, nCmdShow);      
       UpdateWindow(hWnd);          
       return TRUE;             
}
 
 
 
void ErrorExit(LPTSTR lpszFunction) 
{ 
    // Retrieve the system error message for the last-error code
 
    LPVOID lpMsgBuf;
    LPVOID lpDisplayBuf;
    DWORD dw = GetLastError(); 
 
    FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
        FORMAT_MESSAGE_FROM_SYSTEM |
        FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        dw,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR) &lpMsgBuf,
        0, NULL );
 
    // Display the error message and exit the process
 
    lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT, 
        (lstrlen((LPCTSTR)lpMsgBuf)+lstrlen((LPCTSTR)lpszFunction)+40)*sizeof(TCHAR)); 
    StringCchPrintf((LPTSTR)lpDisplayBuf, 
        LocalSize(lpDisplayBuf) / sizeof(TCHAR),
        TEXT("%s failed with error %d: %s"), 
        lpszFunction, dw, lpMsgBuf); 
    MessageBox(NULL, (LPCTSTR)lpDisplayBuf, TEXT("Error"), MB_OK|WS_VISIBLE); 
 
    LocalFree(lpMsgBuf);
    LocalFree(lpDisplayBuf);
    ExitProcess(dw); 
}
 
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
        BOOL Start = FALSE;
        HANDLE job = CreateJobObjectA (NULL, "MyJob");
        JOBOBJECT_BASIC_LIMIT_INFORMATION jobli;
        STARTUPINFO si ;
        ZeroMemory(&si, sizeof(STARTUPINFO));
        PROCESS_INFORMATION pi[5];
      switch (message)
      {
 
        case WM_CREATE:
            
            
            break;
 
        case WM_COMMAND:
            switch (LOWORD(wParam))
            {
                case ID_START:
                     Start = TRUE;
                    break;
                case ID_STARTPROCESS_CALCULATOR:
                    CreateProcess(NULL, "calc", NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi[0]);
                    if (!AssignProcessToJobObject ( job, pi[0].hProcess ))
                        ErrorExit(TEXT("AssignError"));
                    break;
                case ID_STARTPROCESS_CONSOLE:
                    CreateProcess(NULL, "CMD", NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi[1]);
                    AssignProcessToJobObject ( job, pi[1].hProcess );
                    break;
                case ID_STARTPROCESS_EXPLORER:
                    CreateProcess(NULL, "explorer", NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi[2]);
                    AssignProcessToJobObject ( job, pi[2].hProcess );
                        
                    break;
                case ID_STARTPROCESS_NOTEPAD:
                    CreateProcess(NULL, "Notepad", NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi[3]);
                    AssignProcessToJobObject ( job, pi[3].hProcess );
                    break;
                case ID_STARTPROCESS_PAINT:
                    CreateProcess(NULL, "mspaint", NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi[4]);
                    AssignProcessToJobObject ( job, pi[4].hProcess );
                    break;
            }
            if ( Start == TRUE)
            {
                jobli.ActiveProcessLimit = 2;
                jobli.PerProcessUserTimeLimit.QuadPart = 1*MULTIPLYER;
                jobli.PerJobUserTimeLimit.QuadPart = 2*MULTIPLYER;
                jobli.PriorityClass = REALTIME_PRIORITY_CLASS;
                jobli.LimitFlags = JOB_OBJECT_LIMIT_PROCESS_TIME | JOB_OBJECT_LIMIT_JOB_TIME
                    | JOB_OBJECT_LIMIT_ACTIVE_PROCESS | JOB_OBJECT_LIMIT_PRIORITY_CLASS;
                SetInformationJobObject(job, JobObjectBasicLimitInformation, &jobli, sizeof(jobli));
                for ( int i = 0; i<5; i++)
                {
                    ResumeThread(pi[i].hThread);
                    CloseHandle(pi[i].hThread);
                }
            for (int i = 0 ; i<5; i++)
            {
            
 
            // проводим очистку 
                CloseHandle(pi[i].hProcess);
            }
            CloseHandle(job);
            
            }
            }
      break;
 
        case WM_PAINT:
          break;
 
       case WM_DESTROY:
           PostQuitMessage(0); 
           break;
 
       default: 
           return DefWindowProc(hwnd, message, wParam, lParam);
       }
       return 0;
}
проект немного по другому выглядит но суть та же ..

Вернуться к обсуждению:
Задание с ограничениями C++ WinAPI
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2014, 02:47
Готовые ответы и решения:

Функция с ограничениями
Помогите пожалуйста написать код в матлабе для целевой функции с ограничениями. Не могу...

Хранение матрицы с ограничениями в БД
Добрый день. Вопрос достаточно общий и подходит для любой реляционной БД, но на практике...

Транспортная задача с ограничениями
Приветствую всех. Прошу помочь если не затруднит с транспортной задачей, а вернее решить ее в...

Задача на Выборку с ограничениями
В 11-м классе 19 учеников. Каждый из них помимо обязательных ЕГЭ по математике и русскому сдает...

5
24.10.2014, 02:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2014, 02:47
Помогаю со студенческими работами здесь

Парсинг сайтов с ограничениями
Добрый день, уважаемые программисты. Опыт работы с PHP низок, но дана задача, которую надо...

Система уравнений с ограничениями
x*y=z |x-y| -&gt; min z - известно (постоянно изменяется) x и y - надо найти. как это решить?

Оптимизация с нелинейными ограничениями
Добрый день, хочу максимизировать уравнение 0.010*x1 - 0.000543*x2 - 0.003440*x3 + 0.000292*x4 С...

Демо версия с ограничениями
Доброй ночи. Такая проблема у меня. Я вот написал одну небольшую систему управления сайтам,...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru