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

Подсчёт даты и winapi - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ последовательность чисел http://www.cyberforum.ru/cpp-beginners/thread756458.html
Цель: Изучение приемов работы с одномерными статическими и динамическими массивами. Изучение операций new, delete, . Изучение форматированного файлового ввода-вывода. Выработка навыков разбиения задачи на подзадачи, разработки иерархического консольного меню, работы с многомодульными проектами, отладочными средствами, составления тестовых планов, написания программной документации. Задание:...
C++ гистограммы а с++ Цель: Изучение приемов работы с данными, организованными в однонаправленные связанные динамические списки. Задание: В командной строке, а если нет, то в консольном меню вводятся имена файлов, которые содержат текст (какая-нибудь литература). Программа должна прочитать каждый файл и построить гистограмму согласно вариантам, используя однонаправленный связанный динамический список записей для... http://www.cyberforum.ru/cpp-beginners/thread756455.html
Вычислить значение для float при использовании pow C++
Добрый день! При вычислении выражения двумя типами float и double столкнулся со следующей проблемой. При использовании pow для float значения слишком отличны. Почему? #include <iostream> #include <cmath> using namespace std; int main()
Как сделать мини-игру Шарики C++
Всем привет, надо сделать мини-игру Шарики собственно прикрепил рисунок мини - игры. Схема такая : Когда нажимаешь на кнопки расположенные между кнопкой ,шарики двигаются по часовой. Пример: Нажимаешь кнопку 1 расположенные между кнопкой шарики двигаются по часовой стрелке а потом если нажать на 2 кнопку тогда тоже расположенные между кнопкой двигаются по часовой но берет 1 шарик из 1 слота и...
C++ Наследование Классов с++ http://www.cyberforum.ru/cpp-beginners/thread756424.html
при компицяции выдаёт Unresolved external 'chelovek::chelovek(int,int,int)' referenced from ...*.OBJ В чом ошибка??? #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init)
C++ Составить блок-схему помогите составить блок-схему для этой программы. программа перемножающая два многочлена(полинома) #include <iostream> #include <sstream> #include <string> #include <stdlib.h> #include <stdio.h> using namespace std; ////////////////////////////////////////////////////////////////////////// class Polinomial{ private: подробнее

Показать сообщение отдельно
hvz-
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 14
09.01.2013, 10:18  [ТС]     Подсчёт даты и winapi
Цитата Сообщение от kravam Посмотреть сообщение
список всех процессов и их родителей
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
#include <stdio.h> 
#include <Windows.h> 
#include <Winnt.h> 
#include <tlhelp32.h>
#include <vector>
#include <string> 
using namespace std;
 
 
FILE *f;
 
//принимает:
//И вектор имён процессов
bool f_ima_parrent_process (HANDLE, vector<string>);
 
                                  //+
                                  //+
                                  //+
                                  //+
                                  //+
bool SpisokProcessov ()  {
 
 //ЭТо вектор для имён процессво
 vector<string> vec;
 
 HANDLE hProcessSnap;
 
 PROCESSENTRY32 pe32;
 pe32.dwSize = sizeof(PROCESSENTRY32);
 
 //Это мы находим дескриптор снимка процессов
 hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
 if (hProcessSnap == INVALID_HANDLE_VALUE)
 return false;
 
 
 
 //Ищем процессы
 Process32First(hProcessSnap, &pe32);
 vec.push_back (string(pe32.szExeFile));
 while (Process32Next(hProcessSnap, &pe32)) {
  vec.push_back (string(pe32.szExeFile));
 } 
 
 f_ima_parrent_process (hProcessSnap, vec);
 CloseHandle(hProcessSnap);
 return true;
}
                                  //+
                                  //+
                                  //+
                                  //+
                                  //+
 
int main () {
 SetConsoleCP (1251);
 SetConsoleOutputCP (1251);
 
 
 
 f = fopen("rezultat.txt","wb");
 
 
// while (1) 
  SpisokProcessov ();
 fclose (f);
 getchar ();
 return 0;
}
                                  //+
                                  //+
                                  //+
                                  //+
                                  //+
bool f_ima_parrent_process (HANDLE hProcessSnap, vector<string> vec) {
 
  PROCESSENTRY32 pe32;
  DWORD ParrentPID= 0;
  pe32.dwSize = sizeof(PROCESSENTRY32);
 
  for (int i= 0; i< (int)vec.size(); i++) {
   char temp    [MAX_PATH];
   strcpy(temp, vec[i].c_str());
   char parrent [MAX_PATH];
 
 
   //Сперва найдём PID родительского процесса
   Process32First(hProcessSnap, &pe32);
   if (!strcmp (temp, pe32.szExeFile)) {
    ParrentPID= pe32.th32ParentProcessID;
   }
   else {
    while (Process32Next(hProcessSnap, &pe32)) {
     if (!strcmp (temp, pe32.szExeFile)) {
      ParrentPID= pe32.th32ParentProcessID;
      break;
     }
    }
   }
 
 
   //Теперь его имя
   if (ParrentPID) {
    Process32First(hProcessSnap, &pe32);
    if (ParrentPID== pe32.th32ProcessID) {
     strcpy (parrent, pe32.szExeFile);
    }
    else {
     while (Process32Next(hProcessSnap, &pe32)) {
      if (ParrentPID== pe32.th32ProcessID) {
       strcpy (parrent, pe32.szExeFile);
       break;
      }
     }
    }
   }
  
   
   //Вывод
   printf ("  %s\n",temp);
   fprintf(f,"%s \n",temp);
   if (!ParrentPID) {
    printf ("имя родителя не нашли\n\n");
    fprintf(f,"имя родителя не нашли\n\n");
   }
   else {
    printf ("Это родитель  %s\n\n", parrent);
    fprintf(f,"Это родитель:  %s\n\n", parrent);
   }
  }
  printf ("wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n"); 
  fprintf(f,"wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n");
  return true;
  
};


А с нахождениями идентификаторов ты уж сам резберись, посмотри структуру, которая используется, одно из её полей и есть идентификатор
Спасибо, буду искать.
Только что накатал пример работы программы:
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
#include <iostream>
using namespace std;
#include "windows.h"
#include <conio.h>
#include <time.h>
 
const char days[] = {'00', '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', '\0'};
const char moths[] = {'00', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '\0'};
const char years[] = {'00', '2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009',
                      '2010', '2011', '2012', '2013', '\0'};
 
void GenerateDate(char *date[])
{
    srand((unsigned)time(NULL));
    *date[0] = days[rand()%31+1];
    *date[1] = moths[rand()%12+1];
    *date[2] = years[rand()%13+1];
}
 
int main(int argc, char *argv[])
{
    char *date[2];
    GenerateDate(date);
 
    cout << date[0] << " " << date[1] << " " << date[2] << endl;
    cout << "Test!";
    _getch();
}
В процессе выполнения орёт что выходит за границы массива, в функции GenerateDate строка *date[0] = days[rand()%31+1];, скорее всего с остальными двумя такая же ситуация. Не понимаю, ведь вроде за границы массива не выходит ничего, а пишет
Unhandled exception at 0x000d150d in master_v5.exe: 0xC0000005: Access violation writing location 0xcccccccc.
И ещё, как можно сделать передаваемые параметры в эту программу примерно так - "C:\program.exe -date 01 -month 01 -year 2001" ? гуглил и нашёл только про сами параметры, но про их названия ничего.
 
Текущее время: 02:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru