Форум программистов, компьютерный форум CyberForum.ru

Кто-нибудь создаёт потоки как в MSDN? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ надо реализивать поиск С++ http://www.cyberforum.ru/cpp-beginners/thread34511.html
помогите пожалуйста с прогой надо организовать поиск по некоторому критерию.Инфу должно запрашивать с файла Вот некоторsе мои наброски,а как реализовать посик по любому слову из файла я не понимаю.Заранее спасибочки. извините,не туда занесло #include<iostream.h> #include<fstream.h> #include<conio.h> #include<ctype.h> #include<stdlib.h> void main ()
C++ матрица,масив,строки Подскажите хотя бы часть кода..............Пожалуйста. 1.как все положительные елементи масива кроме максимального занести в другой масив???А то я даже не представляю с какой стороны братся,Спасибо заранее. 2.как в матрице поменять местами некоторые елементи (например <1 на максимальные) 3. Как в приложении запретить перносить слова на новую строчку,т.е. нужно написать програму,которая... http://www.cyberforum.ru/cpp-beginners/thread34509.html
Класс для работы со списком C++
разработать класс для работы со списком, включив в него конструктор, деструктор и методы для создания и просмотра элементов списка, а также : Создать список, в информационной части элементов которого нахо-дятся координаты вершин многоугольника плоскости. Определить, находит-ся ли точка с заданными координатами на одной из сторон многоугольника Некоторые моменты понимаю, но как сделать всё...
C++ Ханойская башня
Ханойская башня является одной из популярных головоломок XIX века. Даны три стержня, на один из которых нанизаны восемь колец, причем кольца отличаются размером и лежат меньшее на большем. Задача состоит в том, чтобы перенести пирамиду из восьми колец за наименьшее число ходов. За один раз разрешается переносить только одно кольцо, причём нельзя класть большее кольцо на меньшее....
C++ Нужно доработать задачку на двумерные массивы. http://www.cyberforum.ru/cpp-beginners/thread34493.html
#include <iostream> using namespace std; int main () { int desk={0}; int sx,sy; int x,y; cout<<"enter the position Slon:\n"; cin>>sx; cin>>sy; sx=sx-1;
C++ Поясните с кодировкой\локалью при программирование на C++\QT Поясните пару моментов с кодировкой при программирование на QT\C++ Есть кубунту, с дефолтной локалью UTF-8. 1) Правильно ли я понял, внутри тип QString представляем символы в UTF-32 ? 2) Как правильно осуществить запись текста в файл из QTextEdit в кодировке, текущей для ОС. Как пример, я делаю: подробнее

Показать сообщение отдельно
ZLOI
0 / 0 / 0
Регистрация: 17.05.2009
Сообщений: 7

Кто-нибудь создаёт потоки как в MSDN? - C++

17.05.2009, 08:10. Просмотров 1872. Ответов 18
Метки (Все метки)

Приветствую, жизнь заставила писать на 2005м MVS и использовать MS SQL SERVER (требует ObjectARX).
Вообщем, раньше было какое-то предвзятое отношение, что C++ - это зло, но поработав с этим чудовищем недавно понял, что С++ - это и вправду зло.
Когда приходилось работать в Delphi, Java, PHP и даже ассемблере(MASM), то скорость разработки была гораздо выше.
Но раз некоторые утверждают, что С++ лучшее, что есть, то хочу проверить это, может быть я в чём-то ошибался.
Постановка задачи:
Для разработки программы "AntiCS", которую у меня попросили с кафедры, где я учусь в аспирантуре мне требуется разработать программный модуль запускаемый при загрузке Windows в виде скрытого процесса, который не виден в диспетчере задач и toolbar. Основная цель - уничтожение процессов hl.exe и czero.exe при их появлении в системе.
Впринципе, подобные программы я писал на Delphi за несколько минут, но есть желание быть универсалом и освоить С++, прошу Вашей помощи, потому что в процессе работы на С++ возникают разные маленькие проблемы, которые тормозят разработку, а в MSDN приходиться долго искать.
Итак вопрос:
Почему такая конструкция вызывает ошибку:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DWORD KillCS(void)
{
    MessageBeep(2);
    return 0;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    DWORD dwThreadId;
    HANDLE hThread; 
            hThread = CreateThread( 
            NULL,              
            0,                 
            KillCS,        
            0,             
            0,                 
            &dwThreadId);
Ошибка звучит так:
cannot convert parameter 3 from 'DWORD (__cdecl *)(void)' to 'LPTHREAD_START_ROUTINE'
Но в то же самое время, такая конструкция проходит свободно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DWORD WINAPI KillCS(LPVOID lpParam)
{
    MessageBeep(2);
    return 0;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    DWORD dwThreadId;
    HANDLE hThread; 
            hThread = CreateThread( 
            NULL,              
            0,                 
            KillCS,        
            0,             
            0,                 
            &dwThreadId);
Хотелось бы ещё комментариев, нормальна ли такая конструкция:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    HANDLE hSnapshot;
    PROCESSENTRY32 Entry;
    Entry.dwFlags = sizeof( PROCESSENTRY32 );
 
     // создаем моментальный снимок
    hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (hSnapshot == INVALID_HANDLE_VALUE)
        return FALSE;
 
    // получаем информацию о первом процессе
    Entry.dwSize = sizeof(Entry);
    if (!Process32First(hSnapshot, &Entry))
        return FALSE;
 
    // перечисляем остальные процессы и уничтожаем неугодные
    do
    {    
        if ((wcscmp(Entry.szExeFile,L"czero.exe")==0)||(wcscmp(Entry.szExeFile,L"hl.exe")==0))
            TerminateProcess(OpenProcess(PROCESS_ALL_ACCESS,true,Entry.th32ProcessID),0);
    }
    while (Process32Next(hSnapshot, &Entry));
 
    CloseHandle(hSnapshot);
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru