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

Удалённое выключение ПК (перевод с Pascal на C++) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка выражение должно иметь константное значение http://www.cyberforum.ru/cpp-beginners/thread348620.html
Всем привет. Тут такая песня началась забавная. Вообще для начала я хочу выделить очень важную для меня строку - никакого решения в виде готового алгоритма показывать не нужно(я хочу это загадку потом решить, потому что пока она не решена она мне интересна) Вообщем я С++ учу без всяких там спец курсов и думаю далековато уже продвинулся в плане основ и тут приятель решил на курсы...
C++ Какая разница между cin и scanf? Здраствуйте. А какая разница между cin и scanf? http://www.cyberforum.ru/cpp-beginners/thread348602.html
C++ Пока ввод успешен и не достигнут EOF...
#include <iostream> #include <fstream> #include <cstdlib>// poddergka exit() const int SIZE = 60; int main() { setlocale(LC_ALL, "rus");
Списки. Даны натуральное число n... C++
Даны натуральное число n, действительные числа a1,..., an. Вычислить: (\sqrt{\left|a{}_{1} \right|}-a{}_{1})^2+...+(\sqrt{\left|a{}_{n} \right|}-a{}_{n})^2 Нужно сделать при помощи списков.
C++ Как вытащить данные из объекта? http://www.cyberforum.ru/cpp-beginners/thread348547.html
Доброго времени суток! Есть структура граф. Есть два представления Л и М граф. В конструкторе графа создается объект абстрактного класса, потомки которого Л и М. #include "ABCGraph.h" #include "LGraph.h" #include "MGraph.h" #pragma once; //using std::vector; //using std::list;
C++ Построить прямоугольник по двум заданным точкам Построить прямоугольник по двум заданным точкам: левому верхнему и правому нижнему углам. Обе точки указываются с клавиатуры, а именно: передвигаемся стрелками на нужное место и подтверждаем нахождение точки (например клавишей Enter), указываем 2-ю точки тем же методом. После этого строится прямоугольник. Нужно использовать метод резиновой нити или резинового прямоугольника: рис 96. ... подробнее

Показать сообщение отдельно
alekseirudoi
44 / 8 / 2
Регистрация: 06.08.2011
Сообщений: 364
13.09.2011, 10:41  [ТС]     Удалённое выключение ПК (перевод с Pascal на C++)
Может кто нибудь поможет разобраться.
к примеру что означает значение этой константы.

Цитата Сообщение от alekseirudoi Посмотреть сообщение
const
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
Добавлено через 12 часов 22 минуты
Цитата Сообщение от OstapBender Посмотреть сообщение
код ваш? он работает?
если да , то перевести на С++, в принципе, не проблема, АПИ он везде 1, - соответственно надо тупо изменить Паскальский синтаксис на Сппшный, при этом содержимое не изменится.
код немой в инете у китайцев нашел. На счет работы тоже незнаю. тупое переписывание мне не нарвиться, хотелось бы разобраться что фунции означают и что можно из этих фунций сконструировать.

Добавлено через 19 минут
Больше не надо смотреть код на делфи, есть на С++ только что нашел, только вот еще проблемма достанет ли этот код машину через wan если в IP в писать допусти(*.*.*.*/192.168.0.1-просто негде проверить, если нет то почему)
это для локальной сети.
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
int ShtdnRemSystem(char *name=NULL, bool force_opt=false,
                                    bool reboot_opt=true)
{
 HANDLE hToken;
 TOKEN_PRIVILEGES tkp;
 
// char *msg="";
// DWORD time=0;
 
 OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
    &hToken);
 
    if (!LookupPrivilegeValue(name, SE_SHUTDOWN_NAME, 
                                    &tkp.Privileges[0].Luid))
       {
         ShowMessage("Пипец в LookupPrivilegeValue");
         return 1 ;
       }
 
    tkp.PrivilegeCount =1;
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);
 
    if (!LookupPrivilegeValue(name,
           SE_REMOTE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid))
       {
    ShowMessage("Пипец с SE_REMOTE_SHUTDOWN_NAME");
        return 2 ;
       }
    tkp.PrivilegeCount =1;
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
 
    AdjustTokenPrivileges(hToken, FALSE, &tkp,
       0,(PTOKEN_PRIVILEGES)NULL, 0);
 
    if (InitiateSystemShutdown(name, //если NULL - то выключение локальной машины
       NULL/*или msg*/, 0/*или time*/, 
       force_opt, reboot_opt))
       ShowMessage("Система погашена...");
    else
        {
         ShowMessage("Облом...");
         return 3;
        }
 
 return 0;
}
 
Текущее время: 10:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru