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

Может кому понадобиться Выключение/перезагрузки компа и завершение сеанса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Простая вставка в DBGrid http://www.cyberforum.ru/cpp-beginners/thread345396.html
Привет Ребята... У меня возник вопрос есть Таблица DBGrid, вот функция void __fastcall TForm1::DateTimePicker1Change(TObject *Sender) { if (DBGrid1->DataSource->State == dsInsert || DBGrid1->DataSource->State ==dsEdit ) { Table1ShifrDate->Value = DateTimePicker1->DateTime; }
C++ Ошибка при компиляции в Dev C++ Здравствуйте, я скачал себе Dev C++, устновил на него opengl glut, компилирую такой вот код: #include <windows.h> #include <gl/glut.h> void display(){ glClear(GL_COLOR_BUFFER_BIT); glFlush(); } int main(int argc, char **argv){ http://www.cyberforum.ru/cpp-beginners/thread345393.html
что изучать? C++
подскажите какой язык выбрать для изучения чтобы потом можно работать, С/С++ или 1С
Переписать программу на С++ C++
перепишите пожалуйста на с++. очень надо Program massiv; Uses crt; Const n=5; m=5; Var a: array of integer; i, j, k,min,max, l, s: integer; Begin Clrscr; randomize; Writeln('исходный:'); begin
C++ Молниеносное нахождение подстрок http://www.cyberforum.ru/cpp-beginners/thread345366.html
Воодится число тестов. Далее каждый тест содержит 2 строки. Подстроку и текст. Надо найти количество подстрок в тексте. Количество тестов неизвестно, но много. Длина подстроки 10000, а текста 1000000. Вот мой код: #include <iostream> #include <string> using namespace std; int main() { string str1; string str2;
C++ Как скрыть кнопку программы с панели задач Windows Здравствуйте. Вот такая проблемка. При нажатии на буттон программа должна помещаться в трей, а с панели задач исчезать. Для скрытия программы с панели задач использую код: SetWindowLong( Application->Handle, GWL_EXSTYLE,WS_EX_TOOLWINDOW); Я все сделал и код работает. Программа сворачивается в трей, а с панели задач исчезает. А вчера я скачал с интернета Borland C++2007. Он мне... подробнее

Показать сообщение отдельно
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
26.08.2011, 17:57     Может кому понадобиться Выключение/перезагрузки компа и завершение сеанса
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
#include <iostream>
#include <string>
 
#include <windows.h>
 
using namespace std;
 
struct winapi_exception {
    std::string func_;
    DWORD       code_;
    winapi_exception( const std::string &func, DWORD code)
        :func_(func)
        ,code_(code)
    {}
};
 
struct check_error_t {
    std::string desc_;
    BOOL operator = ( BOOL val ) {
        if( FALSE == val ) 
            throw winapi_exception(desc_, GetLastError());
        return TRUE;
    }
    check_error_t(const std::string & desc)
        :desc_(desc)
    {}
};
 
void set_privilege( HANDLE token,
                    LPCTSTR priv,
                    bool enable )
{
    check_error_t chker("SetPrivilege");
 
    TOKEN_PRIVILEGES tp;
    LUID luid;
    TOKEN_PRIVILEGES tpPrevious;
    DWORD cbPrevious = sizeof(TOKEN_PRIVILEGES);
 
    chker = LookupPrivilegeValue( NULL, priv, &luid );
 
    tp.PrivilegeCount           = 1;
    tp.Privileges[0].Luid       = luid;
    tp.Privileges[0].Attributes = 0;
 
    chker = AdjustTokenPrivileges(
        token,
        FALSE,
        &tp,
        sizeof(TOKEN_PRIVILEGES),
        &tpPrevious,
        &cbPrevious);
 
    tpPrevious.PrivilegeCount       = 1;
    tpPrevious.Privileges[0].Luid   = luid;
 
    if( enable ) {
        tpPrevious.Privileges[0].Attributes |= (SE_PRIVILEGE_ENABLED);
    } else {
        tpPrevious.Privileges[0].Attributes ^= 
            (SE_PRIVILEGE_ENABLED & tpPrevious.Privileges[0].Attributes);
    }
    chker = AdjustTokenPrivileges(
        token,
        FALSE,
        &tpPrevious,
        cbPrevious,
        NULL,
        NULL);
}
 
void reboot_pc() {
 
    check_error_t chker("reboot_pc");
    HANDLE _token;
    chker = OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &_token );
    set_privilege( _token, SE_SHUTDOWN_NAME, TRUE ); // throw
    chker = InitiateSystemShutdownEx( NULL, NULL, 0, TRUE, TRUE,
        SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_MAINTENANCE | SHTDN_REASON_FLAG_PLANNED );
}
 
 
int main() {
 
    try {
        reboot_pc();
    } catch (const winapi_exception &ex) {
        cout << "Error " << ex.func_ << " Code " << ex.code_ << "\n";
    }
 
    return 0;
}
вот как-то так.
 
Текущее время: 13:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru