Статьи по программированию
примеры программного кода
Delphi, Kylix, C, C++, SQL, Visual Basic, Bash, Assembler, 1С
Qt, KOL, MFC, Rx Library, Windows, Linux, Mac OS
Windows (101)
-->Настройка служб Windows
Опубликовано codeLocker в 03.09.2008 в 08:10.
ОС: Windows Язык: Delphi/Kylix Раздел: Системное • Windows • Сервисы NT
Для примера ниже представлена процедура, которая изменяет настройки служб Windows, меняет только флаг автозапуска.
//Настройка служб Windows
procedure ChangeService(ServiceID: String; Autostart: Boolean);
var Svc, SvcMgr: Integer;
ServiceConfig: PQueryServiceConfigA;
NeededBytes: dword;
R: boolean;
begin
SvcMgr := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
Svc := OpenService(SvcMgr, PAnsiChar(ServiceID), SERVICE_ALL_ACCESS);
procedure ChangeService(ServiceID: String; Autostart: Boolean);
var Svc, SvcMgr: Integer;
ServiceConfig: PQueryServiceConfigA;
NeededBytes: dword;
R: boolean;
begin
SvcMgr := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
Svc := OpenService(SvcMgr, PAnsiChar(ServiceID), SERVICE_ALL_ACCESS);
Как проверить что запущено приложение как служба
Опубликовано codeLocker в 03.09.2008 в 08:02.
ОС: Windows Язык: Delphi/Kylix Раздел: Системное • Windows • Сервисы NT
Что бы проверить что запущено приложение как служба нужно проверить кто породил процесс. Если процесс породил services.exe, то запущено как служба.
Вот пример такой функции:
//Как проверить что запущено приложение как служба
const
ProcessBasicInformation = 0;
CSIDL_PROGRAM_FILES = $0026;
type
PROCESS_BASIC_INFORMATION = packed record
ExitStatus: DWORD;
const
ProcessBasicInformation = 0;
CSIDL_PROGRAM_FILES = $0026;
type
PROCESS_BASIC_INFORMATION = packed record
ExitStatus: DWORD;
Отмонтировать открытые по сети файлы
Опубликовано codeLocker в 14.08.2008 в 11:59.
ОС: Windows Язык: Delphi/Kylix Раздел: Системное • Windows • WinAPI
unit NetOperations;
interface
Uses Windows;
Type
TFileInfo3 = packed record
fi3_id : DWORD;
fi3_permissions : DWORD;
fi3_num_locks : DWORD;
fi3_pathname : PWChar;
fi3_username : PWChar;
end;
PFileInfo3 = ^TFileInfo3;
TFileInfo3Array = array[0..512] of TFileInfo3;
PFileInfo3Array = ^TFileInfo3Array;
function CloseAllFileByPath(Path: String): String;
implementation
function CloseAllFileByPath(Path: String): String;
var FLibHandle : THandle;
FileInfoNT: PFileInfo3Array;
interface
Uses Windows;
Type
TFileInfo3 = packed record
fi3_id : DWORD;
fi3_permissions : DWORD;
fi3_num_locks : DWORD;
fi3_pathname : PWChar;
fi3_username : PWChar;
end;
PFileInfo3 = ^TFileInfo3;
TFileInfo3Array = array[0..512] of TFileInfo3;
PFileInfo3Array = ^TFileInfo3Array;
function CloseAllFileByPath(Path: String): String;
implementation
function CloseAllFileByPath(Path: String): String;
var FLibHandle : THandle;
FileInfoNT: PFileInfo3Array;
Разработка DLL-модулей расширения MFC на языке Visual C++
Опубликовано codeLocker в 08.08.2008 в 11:57.
ОС: Windows Язык: C++ • Visual C++ Библиотека: MFC Раздел: Системное • Windows • Работа с DLL
Квалифицированные специалисты, занимающиеся подготовкой программ для Windows, постепенно отказываются от применения инструментального комплекта SDK Windows и переходят к современным средам разработки для этой ОС, которые обеспечивают более высокую степень абстрагирования от действующих на низком уровне встроенных механизмов эт
-->Как сделать, чтобы некотоpое пpиложение не показывалось в Task Bar, System Tray и в списке по Ctrl+Alt+Del?
Опубликовано codeLocker в 08.08.2008 в 11:43.
ОС: Windows Язык: C++ • Visual C++ Раздел: Системное • Windows • Taskbar, кнопка Пуск, Системное меню
/*apphider.cpp*/
/* Alexey Chubar & Paul Ishenin*/
#pragma hdrstop
#include <condefs.h>
#include <windows.h>
#include <tlhelp32.h>
#include <string.h>
#include <stdlib.h>
USELIB("KERNEL32.lib");
#pragma argsused
extern "C" __stdcall DWORD RegisterServiceProcess(DWORD dwProcessID, DWORD
dwType);
char * ExtractFilePath(const char *Name)
{
int i = strlen(Name), l = strlen(Name);
char *res="\0";
while ((i > 0)&&(Name[i] != '\\')) i--;
if (i)
{
res = (char *)malloc(l - i);
strcpy(res, Name + i + 1);
res[l-i-1] = '\0';
}
return res;
}
/* Alexey Chubar & Paul Ishenin*/
#pragma hdrstop
#include <condefs.h>
#include <windows.h>
#include <tlhelp32.h>
#include <string.h>
#include <stdlib.h>
USELIB("KERNEL32.lib");
#pragma argsused
extern "C" __stdcall DWORD RegisterServiceProcess(DWORD dwProcessID, DWORD
dwType);
char * ExtractFilePath(const char *Name)
{
int i = strlen(Name), l = strlen(Name);
char *res="\0";
while ((i > 0)&&(Name[i] != '\\')) i--;
if (i)
{
res = (char *)malloc(l - i);
strcpy(res, Name + i + 1);
res[l-i-1] = '\0';
}
return res;
}
Метки
служба сообщений windows 7 служба сообщений windows 2008
Спонсоры проекта:
- Так как не купив голд wow. Купить голд в вов.
Навигация
Сейчас на сайте
Сейчас на сайте 0 пользователей и 1 гость.
Статистика
Всего материалов: 1387