English version

RSS

Базовые сервисы

Буфер обмена

Перевод: Sergey Kulish
Источник: Using the Clipboard
Аннотация: В этой статье приводятся примеры решения следующих задач: - Реализация команд Вырезать (Cut), Копировать (Copy), и Вставить (Paste) - Создание окна просмотра буфера обмена (Clipboard Viewer) - Добавление этого окна в цепочку просмотра буфера обмена

Ключевые слова: Clipboard
Автор: Александр Шаргин
Аннотация: Программа-пример CbView

Ключевые слова:
Автор: Alex Fedotov
Аннотация: <span class='lineQuote level1'>S&gt;Как кинуть в буфер обмена файлы или папки (как в проводнике)</span><br /> <br /> <a target='_blank' class='m' href='http://search.microsoft.com/ru-RU/results.aspx?q=OleSetClipboard'>OleSetClipboard</a>. Data object должен поддерживать один или несколько [url=<a class="microsoft m" href="http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_programming/transferring/clipboard.asp" target="_blank">http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_programming/transferring/clipboard.asp</a>]she...

Ключевые слова:
Автор: Slicer [Wirkwood]
Аннотация: <span class='lineQuote level1'>e&gt;Почему-то не работает... Может что-то не так?</span><br /> <br /> <pre class='c'><code><span class='kw'>var</span> H: THandle; ... OpenClipboard(MainWND); H:= GetClipboardData(cf_Bitmap); Picture.Bitmap.Handle:= H; CloseClipboard; ...</code></pre><br /> <span class='lineQuote level1'>e&gt;Мне нужно получить изображение из буфера. Когда вызывается код, то я точно знаю, чт...</span>

Ключевые слова:

Межпроцессное взаимодействие

Автор: Алекс Jenter
Аннотация: Обзор основных технологий IPC: Очень многим приложениям, если не большей части, требуется информация от других приложений, либо они должны эту информацию сообщать. Именно поэтому в операционную систему встраивается множество механизмов, которые обеспечивают т.н. Interproccess Communication (IPC) - то есть межпроцессное взаимодействие...

Ключевые слова:
Автор: Леошкевич Илья
Источник: RSDN Magazine #2-2006
Аннотация: Данная статья является обзором недокументированного механизма LPC, в ней продемонстрированы основные моменты, необходимые для реализации простейших LPC-клиента и LPC-сервера. LPC как механизм передачи сообщений не всегда превосходит свои аналоги – именованные каналы, сокеты, синхронизированный доступ к разделяемой памяти, и т.д. И всё же, могут возникнуть ситуации, когда его использование выглядит достаточно привелекательным – идеальным примером явлется передача данных по инициативе драйвера пользовательскому приложению.

Ключевые слова: LPC
Автор: А. Новик
Источник: «Технология Клиент-Сервер»
Аннотация: Разработчикам распределенных приложений иногда необходимо создавать программы, работающие в асинхронном режиме.

Ключевые слова:
Автор: Сергей Холодилов
Источник: RSDN Magazine #4-2004
Аннотация: В статье описывается один из методов внедрения DLL. Разбираются способы взаимодействия с внедренной библиотекой.

Ключевые слова: CreateRemoteThread, IMAGE_DOS_HEADER, PE формат
Автор: SergH
Аннотация: Здравствуйте Алекс, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;Даже так не работает:</span><br /> <span class='lineQuote level1'>А&gt;[ccode]</span><br /> <span class='lineQuote level1'>А&gt; STARTUPINFO si = {sizeof(STARTUPINFO)};</span><br /> <span class='lineQuote level1'>А&gt; GetStartupInfo(&amp;si);</span><br /> <span class='lineQuote level1'>А&gt; si.dwFlags = STARTF_USESTDHANDLES;</span><br /> <span class='lineQuote level1'>А&gt; si.hStdOutput = hFile;</span><br /> <span class='lineQuote level1'><br /> А&gt; PROCESS_INFORMATION pi;</span><br /> <span class='lineQuote level1'>А&gt; ZeroMemory(&amp;pi,sizeof(PROCESS_INFORMATION));...</span>

Ключевые слова:
Автор: Сторожевых Сергей
Источник: RSDN Magazine #3-2007
Аннотация: При решении многих задач системного программированния зачастую бывает необходимо загрузить динамически подключаемую библиотеку (DLL) в адресное пространство другого процесса, с целью исследования либо изменения его поведения. В данной статье показан способ, позволяющий внедрить DLL в любой процесс (в том числе защищенный) на самом раннем этапе его создания.

Ключевые слова: inject, DLL, APC
Автор: Alex Fedotov
Аннотация: Здравствуйте Alexche, вы писали:<br /> <span class='lineQuote level2'><br /> RM&gt;&gt;Создается анонимный канал(pipe), затем инициализируется в STARTUPINFO hStdOutput хэндлом записи созданного канала и</span><br /> <span class='lineQuote level2'>RM&gt;&gt;dwFlags |= STARTF_USESTDHANDLES, а затем делается CreateProcess c bInheritHandles=TRUE, ну и ReadFile из хэндла чтения канала.</span><br /> <span class='lineQuote level1'><br /> A&gt;Работа...</span>

Ключевые слова:

Процессы и потоки

Автор: Артур Вартанов
Аннотация: Функция GetModuleFileName возвращает полный путь и имя исполняемого файла. Пример ее использования смотри ниже.

Ключевые слова:
Автор: Кодт
Аннотация: Здравствуйте, -MyXa-, Вы писали:<br /> <span class='lineQuote level1'><br /> MX&gt;Чем значение, возвращаемое функцией GetModuleFileName, лучше чем argv[0]?</span><br /> <br /> Тем, что содержимое argv[0] может содержать всё, что угодно по желанию шелла.<br /> Пример<br /> <pre class='c'><code><span class='kw'>int</span> main(<span class='kw'>int</span> argc, <span class='kw'>char</span>* argv[]) { printf(<span class='str'>"path = %s\n"</span>, argv[0]); }</code></pre><br /> запускаем<br /> ...

Ключевые слова:
Автор: Александр Федотов
Аннотация: Статья рассказывает, как корректно завершить другое приложение, учитывая возможность зависания этого приложения. Также рассматривается вопрос завершения 16-битных приложений в Windows NT.

Ключевые слова:
Автор: Александр Федотов
Аннотация: В статье рассматривается принудительное завершение процессов с использованием функции TerminateProcess с учетом ограничений, накладываемых системой безопасности Windows NT. Также рассматривается завершение дерева процессов и завершение 16-битных процессов в Windows NT.

Ключевые слова:
Автор: Александр Федотов
Аннотация: В статье рассматривается несколько способов перечисления процессов в Windows различных версий, включая методы, пригодные для перечисления процессов на другом компьютере.

Ключевые слова:
Автор: Александр Федотов
Аннотация: Статья рассказывает, как получить список приложений, аналогичный списку, отображаемому Windows NT Task Manager.

Ключевые слова:
Автор: Александр Федотов
Аннотация: Статья рассказывает как получить список 16-битных задач в среде Windows NT с использованием функций, предоставляемых VDMDBG.DLL.

Ключевые слова:
Автор: Александр Федотов
Аннотация: В статье рассматривается два метода, позволяющие определить, что приложение зависло, т.е. перестало обрабатывать сообщения.

Ключевые слова:
Автор: Артур Вартанов
Аннотация: Существует несколько способов запуска одной программы из другой.

Ключевые слова:
Автор: Alex Fedotov
Аннотация: Здравствуйте, Contact, Вы писали:<br /> <span class='lineQuote level1'><br /> C&gt;Если я не ошибаюсь, данный подход предполагает программное определение</span><br /> <span class='lineQuote level1'>C&gt;вхождения пользователя в группу администраторы с последующим... чем?</span><br /> <span class='lineQuote level1'>C&gt;1) поменять владельца процесса нельзя (можно???)</span><br /> <span class='lineQuote level1'>C&gt;=&gt; необходимо как-то показать диалог ранэс (как?) и получить ре...</span>

Ключевые слова:
Автор: Dr. Joseph M. Newcomer
Перевод: Алексей Остапенко
Источник: Avoiding Multiple Instances of an Application
Аннотация: В статье подробно рассматриваются различные способы ограничения числа запущенных копий приложения одной. Указываются недостатки и даже ошибки во многих известных методах решения задачи, которые постоянно фигурируют в конференциях и в Сети. Кроме того, указывает на различные трактовки понятия "одна копия приложения" и демонстрирует правильное решение для каждого из случаев.

Ключевые слова:
Автор: Алексей Ширшов
Источник: RSDN Magazine #3
Аннотация: Переполнение стека – одна из самых сложных ошибок, восстановление после которой практически невозможно. По существу эта ошибка считается фатальной, и единственное, что может сделать приложение, обрабатывая ее, выдать какое-либо сообщение об ошибке или записать его в лог. Никакой серьезной работы проделать невозможно, т.к. обработчик вызывается на уже «умирающем» стеке. В этой статье рассматривается, как подменить текущий стек на свой собственный. Более подробно цели описаны в следующем разделе. Все материалы относятся к операционной системе Windows 2000 и WindowsXP.

Ключевые слова:

Многопоточность

Авторы: Алексей Колосов
Евгений Рыжков
Андрей Карпов
Источник: RSDN Magazine #2-2008
Аннотация: С распространением многоядерных систем задача параллельного программирования становится все более и более актуальной. Данная область, однако, является новой даже для большинства опытных программистов. Существующие компиляторы и анализаторы кода позволяют находить некоторые ошибки, возникающие при разработке параллельного кода. Многие ошибки никак не диагностируются. В данной статье приводится описание ряда ошибок, приводящих к некорректному поведению параллельных программ, созданных на основе технологии OpenMP.

Ключевые слова: OpenMP
Автор: Тепляков Сергей Владимирович
Источник: RSDN Magazine #4-2010
Аннотация: В статье рассматриваются новые возможности асинхронного программирования доступные в новой версии языка программирования C#.

Ключевые слова: C# 5; асинхронное программирование; многопоточность
Автор: Intel
Источник: RSDN Magazine #3-2004
Аннотация: Современные операционные системы (OC) нацелены на наиболее эффективное использование ресурсов компьютера. По большей части эффективность достигается за счет разделения ресурсов компьютера между несколькими процессами (многозадачность). Такое крупномасштабное разделение ресурсов обеспечивается операционными системами без каких-либо действий со стороны приложений или процессов. Процессы могут выполняться одновременно за счет переключения центрального процессора (или нескольких процессоров) между ними. Последние версии OC предоставляют механизмы, позволяющие приложениям управлять ресурсами компьютера и распределять их с большей степенью детализации, т.е. на уровне потоков. По аналогии с многозадачными операционными системами, которые могут одновременно выполнять несколько задач путем запуска нескольких процессов, процесс может в свою очередь выполнять несколько задач за счет использования нескольких потоков. В данном документе обсуждаются способы применения потоков для повышения производительности приложений. Также здесь представлена методика распараллеливания последовательных приложений.

Ключевые слова: Intel Threading Tools, Thread
Автор: Павел Блудов
Источник: RSDN Magazine #6-2004
Аннотация: В статье рассматриваются аспекты работы с критическими секциями, их внутреннее устройство и способы отладки

Ключевые слова: Critical Section, CriticalSection, EnterCriticalSection, LeaveCriticalSection
Автор: Alex Fedotov
Аннотация: <span class='lineQuote level1'>K&gt;"Для использования спин-блокировки в критической секции нужно инициализи ровать счетчик циклов, вызвав: </span><br /> <span class='lineQuote level1'><br /> K&gt;BOOL InitalizeCriticalSectionAndSpinCount( PCRITICAL_SECTION pcs, DWORD dwSpinCount); </span><br /> <span class='lineQuote level1'><br /> K&gt;Как и в InitializeCriticalSection, первый параметр этой функции — адрес структуры критической се...</span>

Ключевые слова:
Автор: Роман Хациев
Аннотация: Довольно давно я прочитал статью, автор которой объединил две концепции - многозадачность и объектно-ориентированное программирование. В результате получились так называемые "живые объекты". Идея крайне проста - при инициализации объекта создается отдельный поток и объект в нем живет своей жизнью, а создатель объекта по мере необходимости получает информацию о состоянии объекта из его свойств.

Ключевые слова:
Автор: Алекс Jenter
Аннотация: Сейчас игнорировать возможности многозадачности, которые предоставляет Windows, не может себе позволить ни один уважающий себя программист. Многозадачность - это вовсе не так сложно, как кажется на первый взгляд, и эта статья призвана вас в этом убедить. В ней рассматриваются основные концепции организации многозадачной среды - процессы и потоки, а также подробно описывается проблема синхронизации потоков и ее решение.

Ключевые слова:
Автор: MaximE
Аннотация: ethan hunt wrote:<br /> <span class='lineQuote level1'><br /> &gt; Господа,</span><br /> <span class='lineQuote level1'>&gt; извиняюсь за тупость, но почему в отдельный поток можно кидать только статическую функцию-член класса. До конца не понимаю (может из-за недосыпания).</span><br /> <br /> Потому, что статическая функция-член имеет такой же тип, как и обычная ф-ция (в отличее от нестатической фун-ции...

Ключевые слова:
Автор: Алексей Ширшов
Источник: RSDN Magazine #2-2003
Аннотация: Статья посвящена системным механизмам, организующим (или помогающим организовать) пул потоков. Рассматриваются базовые, универсальные сервисы, с помощью которых можно реализовывать серверы для любых доступных механизмов взаимодействия сервера и клиента: сокеты, именованные каналы (named pipes), почтовые ящики (mailslots) и проч.

Ключевые слова: thread pool
Автор: Олег Зубарьков
Аннотация: STL и многие другие библиотеки написаны с учётом эффективности и удобства, но без учёта многопоточности процессов ( и это правильно ), но как же использовать эту кучу кода в многопоточных приложениях без написания эквивалентной кучи кода?

Ключевые слова:

Работа с потоками в C#

Автор: Joseph Albahari
Перевод: Алексей Кирюшкин
Источники: Threading in C#
базируется на книге
Joseph Albahari Ben Albahari "C# 3.0 in a Nutshell"
Материал предоставил: RSDN Magazine #1-2007
Аннотация: Подробно рассматривается работа с потоками - запуск, завершение, прерывание, блокировки, синхронизация, контексты синхронизации, особенности взаимодействия с апартаментами, а также потоковые возможности .NET - потоковые таймеры, пулы потоков, BackgroundWorker, асинхронные методы и делегаты. В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 3.0 in a Nutshell" - http://www.oreilly.com/catalog/9780596527570/

Ключевые слова: C#,thread,wait handle, mutex, apartament
Автор: Joseph Albahari
Перевод: Алексей Кирюшкин
Источники: Threading in C#
базируется на книге
Joseph Albahari Ben Albahari "C# 3.0 in a Nutshell"
Материал предоставил: RSDN Magazine #2-2007
Аннотация: Окончание статьи, опубликованной в RSDN Magazine #1-2007. Рассматриваются особенности взаимодействия с апартаментами, потоковые таймеры, пулы потоков, BackgroundWorker, асинхронные методы и делегаты. В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 3.0 in a Nutshell" - http://www.oreilly.com/catalog/9780596527570/

Ключевые слова: C#,thread,wait handle, mutex, apartament
Автор: Joseph Albahari
Перевод: Тепляков Сергей Владимирович
Источники: RSDN Magazine #3-2010
Threading in C#
Аннотация: В третьей части статьи рассматривается Parallel LINQ, класс Parallel, конструкции параллелизма задач, параллельные коллекции, а также структуры SpinLock и SpinWait. В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 4.0 in a Nutshell" —  http://oreilly.com/catalog/9780596800963

Ключевые слова: Многопоточность; PLINQ, TPL; C#

Await && Locks - библиотека синхронизации потоков

Автор: Dmytro Sheyko
Источник: RSDN Magazine #3
Аннотация: Await && Locks – это библиотека синхронизации потоков. Необычная библиотека. Необычна она в том смысле, что она предоставляет не ряд классов или функций на все случаи жизни, – она предоставляет ряд конструкций, при помощи которых программист может более четко и ясно выражать свои намерения.

Ключевые слова: await, await_switch,await_case,await_timeout
Автор: Dmytro Sheyko
Источник: sourceforge.net
Аннотация: Прежде чем начать описание внутренностей Await && Locks, я хотел бы объяснить некоторые детали, которые могут показаться странными и неочевидными; а дизайн библиотеки – избыточным и хаотичным. Приведенные ниже действия касаются только проектирования на C++. Я сознательно использую эту комбинацию якобы несовместимых терминов C++ и проектирование, несмотря на то, что C++ считается языком кодирования, а для проектирования обычно используют другие средства, например UML. Это связано с тем, что язык кодирования, так или иначе, оказывает влияние на мышление программиста-проектировщика и как следствие на этап проектирования в целом.

Ключевые слова:
Автор: Dmytro Sheyko
Источник: sourceforge.net
Аннотация: Следует признать, что код, использующий библиотеку Await && Locks, не столь эффективен, насколько в принципе мог бы быть. Правда, этот недостаток относится больше именно к реализации. Тем не менее, это может стать решающим фактором при принятии решения, использовать ли данную библиотеку или нет. Обобщая, можно поставить вопрос так: «Стоят ли те преимущества, которые дает использование Await && Locks, тех накладных расходов, которые при этом возникнут?». Однозначный ответ я дать не могу. Это зависит от задач, которые собирается решать разработчик. Итак, в чем же заключаются недостатки, и какие выгоды сулит Await && Locks? Рассмотрим особенности данной библиотеки с разных сторон.

Ключевые слова:

Перехват вызовов API

Автор: Сергей Холодилов
Источник: RSDN Magazine #4-2004
Аннотация: API Spying ­ это слежение за вызовами функций API некоторым приложением. API Spying может использоваться на одном из этапов исследования программы, логика работы которой не до конца понятна.

Ключевые слова: API Spying,
Автор: Павел Блудов
Аннотация: В статье рассматриваются различные способы перехвата и подмены функций API. Приводятся примеры простейшей подмены и подмены с вызовом оригинальной функции API.

Ключевые слова:
Автор: Игорь В. Филимонов
Источник: RSDN Magazine #1-2004
Аннотация: Это не единственная статья на тему перехвата API-вызовов. Необходимость в ней возникла вследствие того, что в других широко известных статьях и книгах есть небольшие ошибки, которые порой приводят к тому, что перехват не работает. Эта статья избавлена от указанных недостатков.

Ключевые слова:
Автор: Тихомиров В.А.
Источник: RSDN Magazine #1
Аннотация: Системные программисты, работавшие под MS DOS, прекрасно помнят технологию перехвата системных прерываний, позволявшую брать под контроль практически все процессы, проходившие в любимой операционной системе.

Ключевые слова:

Перехват методов COM интерфейсов

Автор: Ivan Andreyev
Источник: RSDN Magazine #1-2004
Аннотация: В статье продолжается обсуждение темы перехвата вызовов методов COM-интерфейсов. Рассматривается использование API-функций, позволяющих упростить эту задачу.

Ключевые слова: COM, Interface
Автор: Иван Андреев aka Ivan
Источник: RSDN Magazine #2-2005
Аннотация: Эта статья является продолжением статьи “Перехват методов COM интерфейсов”, опубликованной в RSDN Magazine #1’2004. В предыдущей части статьи описан перехват вызовов automation-совместимых интерфейсов. В этой части описывается решение, позволяющее перехватывать и не-automation-совместимые интерфейсы. Требуется знание COM и C++.

Ключевые слова: COM, перехват методов
Автор: Алексей Остапенко
Источник: RSDN Magazine #3-2003
Аннотация: Статья описывает возможный метод перехвата вызовов интерфейса IUnknown COM-объекта. В качестве примера создается прокси-объект, позволяющий практически "прозрачно" подменить контекст пользователя, под которым производится вызов удаленного объекта из скриптовых языков.

Ключевые слова: QueryInterface перехват, IUnknown перехват

Реестр

Автор: Александр Шаргин
Аннотация: Для удаления ключей из реестра предназначена функция RegDeleteKey из Win32 API. В качестве параметров эта функция получает дескриптор родительского ключа, а также имя подключа, подлежащего удалению. В качестве дескриптора родительского ключа можно передать константу, соответствующую одному из основн...

Ключевые слова:
Автор: Flamer
Аннотация: Здравствуйте, vgrigor, Вы писали:<br /> <span class='lineQuote level1'><br /> V&gt;Можно стереть ключь реестра .reg файлом в который его экспортировали?</span><br /> <br /> Можно. В *.reg-файле надо поставить знак "-" непосредственно перед началом имени ключа:<br /> <br /> <pre class='c'><code>[-HKEY_CURRENT_USER\Software\MySoft]</code></pre><br /> <br /> Вроде так.<br /> [tagline]... &lt;&lt; RSDN@Home 1....

Ключевые слова:
Автор: Александр Шаргин
Аннотация: Для копирования ключей в реестре предназначена функция SHCopyKey (объявлена в shlwapi.h). Она имеет следующий прототип.

Ключевые слова:
Автор: Александр Шаргин
Аннотация: К сожалению, в Win32 API нет функции, которая выполняла бы переименование ключа в реестре. Если проследить, каким образом редактор regedit.exe переименовывает ключ, нетрудно убедиться, что он просто копирует заданный ключ на новое место, а затем удаляет его на старом. Этой же стратегией можем воспол...

Ключевые слова:
Автор: Alex Fedotov
Аннотация: Здравствуйте OlegO, Вы писали:<br /> <span class='lineQuote level4'><br /> DT&gt;&gt;&gt;&gt;Привет всем.</span><br /> <span class='lineQuote level4'>DT&gt;&gt;&gt;&gt;Вот такая вот задачка.</span><br /> <span class='lineQuote level4'>DT&gt;&gt;&gt;&gt;Есть HKEY, надо бы получить че енто за ключ (типа HKEY_LOCAL_MACHINE\Software\Microsoft).</span><br /> <span class='lineQuote level4'>DT&gt;&gt;&gt;&gt;Помогите, а....</span><br /> <span class='lineQuote level1'><br /> OO&gt;Да изврат не спорю, еще вариант поискать может кто разбирал структуру HKEY'я из нее наверня...</span>

Ключевые слова:
Автор: Holms
Аннотация: Здравствуйте, Stanky, Вы писали:<br /> <span class='lineQuote level2'><br /> &gt;&gt; И где ее найти? <img border='0' width='15' height='15' src='../Forum/images/smile.gif' /></span><br /> <span class='lineQuote level2'>&gt;&gt;</span><br /> <span class='lineQuote level1'>S&gt;<a class="m" href="http://irazin.ru/Downloads/Docs/NativeAPI.zip" target="_blank">Здесь</a>!!!</span><br /> Скачал, разобрался все прекрасно работает. <br /> Спасибо<br /> Были трудности с переводом на Делфи, помогли мастаковцы <img border='0' width='15' height='15' src='../Forum/images/smile.gif' /><br /> Получилось такое:<br /> <br /> [pascal]<br /> uses<br /> ntdll, HsNtDef;...

Ключевые слова:

Системные службы

Автор: Igor Vartanov
Источник: RSDN Magazine #6-2004
Аннотация: В переписке с одним из членов RSDN Team я как-то неосторожно заявил, что не пишу сервисы направо и налево, подразумевая, что пишу я их очень редко. Да, я ошибался. Случилось так, что я был вынужден за достаточно короткий срок написать несколько сервисов – сначала один, и затем, спустя совсем небольшое время, еще парочку. Приступив к написанию второго, я вдруг почувствовал острое ощущение бессмысленности траты времени на тупое копирование типового кода. А впереди ведь ожидал еще и третий проект… Поэтому работа над вторым сервисом была отложена в сторону (по принципу «лучше день потерять, зато потом за пять минут долететь»), и был написан код, впоследствии легший в основу SFL.

Ключевые слова: services
Автор: alzt
Аннотация: Здравствуйте, Аноним, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;В реестре править очень не хотелось бы &mdash; мало ли какие могут быть проблемы в дальнейшем.</span><br /> <span class='lineQuote level1'>А&gt;Возможно с этим справится System.Management.ManagementObject, но найти конкретнее не могу.</span><br /> <br /> [c#]<br /> void SetServiceToManual(string serviceName)<br /> {<br /> ...

Ключевые слова:
Автор: Алексей Ширшов
Аннотация: В этой статье вашему вниманию предлагаются несколько классов, которые позволяют быстро и безболезненно создавать системные службы (также называемые сервисами) Windows 2000. Описанные в статье классы и методы работы со службами основаны на книге Дж. Рихтера и Дж. Кларка "Программирование серверных приложений для Windows 2000".

Ключевые слова:
Автор: Сергей Холодилов
Источник: RSDN Magazine #1-2003
Аннотация: В статье описаны некоторые детали программирования служб Windows NT/2000/XP. Большая часть содержащихся в статье утверждений описывает реакцию Windows на какие-то действия службы. Если вы написали первую службу и хотите двигаться дальше, эта статья вам поможет.

Ключевые слова: service
Автор: Игорь Вартанов
Аннотация: <span class='lineQuote level1'>YV&gt;Как сделать, чтобы сервис при старте получал командную строку?</span><br /> <span class='lineQuote level1'>YV&gt;Задача: отличить запуск exe-шника user'ом от запуска его системой как сервиса.</span><br /> <br /> Итак, командная строка ни при чем. <img border='0' width='15' height='15' src='../Forum/images/smile.gif' /><br /> <br /> Нужно получить имя процесса, породившего процесс твоего экзешника. Если это не %SystemRoot%\system32\servic...

Ключевые слова:
Автор: Красин
Аннотация: Здравствуйте, Аноним, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;Отлаживаю сетап для сервиса. Вот какая незадача: после деинсталляции сервис становится "Помеченным для удаления", посему повторная инсталляция завершается неудачей. </span><br /> <span class='lineQuote level1'>А&gt;Как мне пристукнуть удаленный сервис намертво? Может, реестр почистить или какой контролирующ...</span>

Ключевые слова:
Автор: Владислав
Аннотация: Здравствуйте, Аноним, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;Хм, а у меня все тоже самое &mdash; на запрос не ответила своевременно. Можно мне выслать пустой рабочий сервис?</span><br /> <br /> Ок.<br /> <br /> По шагам &mdash; создание простого сервиса с использованием библиотеки ATL (VS 7.1)<br /> <br /> 1. Wizard -&gt; ATL -&gt; ATL Project -&gt; Service (EXE) без поддержки а...

Ключевые слова:
Автор: Odi$$ey
Аннотация: Здравствуйте, lonli, Вы писали:<br /> <span class='lineQuote level2'><br /> _M_&gt;&gt;в мсдне хорошие статьи есть, с примерами</span><br /> <span class='lineQuote level1'>L&gt;Статей с удалением я не нашел, например. </span><br /> <br /> Solution Explorer — файл с классом сервиса, контекстное меню — View Designer — контекстное меню на окне дизайнера — Add Installer<br /> <br /> Выбрать добавленный инсталлер в дизайн...

Ключевые слова:
Автор: Alex Fedotov
Аннотация: Здравствуйте, Аноним, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;Имеется моя утилитка которая регистрируетя/убирает и запускает/останавливае некоторый сервис. Всё работает хорошо, но днях столкнулся со странной проблемой. Если запускать сервис под некоторым доменным пользователем, нетекущим залогиненным по крайней мере, то ут...</span>

Ключевые слова:

Управление системными службами Windows NT

Автор: Александр Федотов
Аннотация: В статье рассматриваются вопросы управления системными службами Windows NT: чтение и изменение конфигурации, запуск и остановка, установка и удаление служб. В статье описана большинство функций управления службами, использование каждой функции продемонстрировано примерами.

Ключевые слова:
Автор: Александр Федотов
Аннотация: В статье рассматриваются вопросы управления системными службами Windows NT: чтение и изменение конфигурации, запуск и остановка, установка и удаление служб. В статье описана большинство функций управления службами, использование каждой функции продемонстрировано примерами.

Ключевые слова:

Счетчики производительности

Автор: Сергей Холодилов
Источник: RSDN Magazine #4-2003
Аннотация: Статья описывает механизм "счетчиков производительности" (perfomance counters) с двух точек зрения: "читателя", получающего информацию, и, "писателя", создающего свои счетчики. К статье прилагается несколько демонстрационных примеров разной степени полезности. Часть 1. Чтение.

Ключевые слова: perfomance counters
Автор: Сергей Холодилов
Источник: RSDN Magazine #4-2003
Аннотация: Статья описывает механизм "счетчиков производительности" (perfomance counters) с двух точек зрения: "читателя", получающего информацию, и, "писателя", создающего свои счетчики. К статье прилагается несколько демонстрационных примеров разной степени полезности. Часть 2. Создание.

Ключевые слова: perfomance counters

Форматы исполняемых файлов

Автор: Максим М. Гумеров
Аннотация: Не вдаваясь в подробности, скажу лишь, что исследование было начато ради сокрытия использования программой на Delphi некоей DLL (написанной на VC++). То есть оператор видит один только Exe-файл, запускает его, а тот каким-то образом подключает функции, содержащиеся изначально (при компиляции проекта) в некоторой DLL.

Ключевые слова: PE
Автор: Мэтт Питрек
Источник: Секреты системного программирования в Windows 95. Глава 8.
Аннотация: В этой главе из известной книги Мэтта Питрека "Секреты системного программирования в Windows 95" даётся исчерпывающее описание форматов PE и COFF, принятых в качестве стандарта в системах Windows фирмы Microsoft.

Ключевые слова:

Хуки

Автор: Игорь Вартанов
Аннотация:

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Исходный кодДемонстрационный проект

Ключевые слова:
Автор: Kyle Marsh
Перевод: Олег Быков
Аннотация: Автор подробно описывает принципы работы хуков, их виды и случаи применения. Статья не содержит примеров хуковых функций и носит лишь ознакомительный характер. Рекомендуется программистам, только начинающим осваивать эту область программирования для Windows.

Ключевые слова:
Автор: Dr. Joseph M. Newcomer
Перевод: Алексей Остапенко
Источник: Hooks and DLLs
Аннотация: Статья посвящена реализации глобальных хуков. В ней рассматриваются типичные проблемы, связанные с различием виртуальных адресов перехватывающей DLL в адресных пространствах различных процессов, описывается способ создания разделяемого сегмента данных, приводится пример DLL, реализующей глобальный хук.

Ключевые слова:
Автор: Стример
Аннотация: Здравствуйте, Pavel M., Вы писали:<br /> <span class='lineQuote level1'><br /> PM&gt;Здравствуйте, Аноним, Вы писали:</span><br /> <span class='lineQuote level2'><br /> А&gt;&gt;1)Как вызвать экран смерти и вообще это возможно?</span><br /> <span class='lineQuote level2'>А&gt;&gt;2)Как развернуть окно в ФулСкрин? (как в заставках например)</span><br /> <span class='lineQuote level2'>А&gt;&gt;3)Как отключить виндовские комбинации клавиш(АльтТаб, АльтФ4, клавиша Виндовс)</span><br /> <span class='lineQuote level2'>А&gt;&gt;4)Как использовать...</span>

Ключевые слова:

Управление памятью

Автор: Алексей Ширшов
Аннотация: Исходные тексты классов

Ключевые слова:
Автор: Eugene Kilachkoff
Аннотация: Здравствуйте, unz0r, Вы писали:<br /> <span class='lineQuote level1'><br /> U&gt;В смысле? Я сделал маленький тестовый проект &mdash; в нем malloc(1) ест 16 байт. Но в большом проекте &mdash; 4Kb.</span><br /> <span class='lineQuote level1'>U&gt;Но вообще что-то непонятное происходит. Если я _переименовываю_ полученный .exe файл проекта, например на X.exe, то магическим образом malloc(1) вместо 4Kb ...</span>

Ключевые слова:

Файлы и ввод/вывод

Автор: gear nuke
Аннотация: Здравствуйте, BTFil, Вы писали:<br /> <span class='lineQuote level1'><br /> BTF&gt;Возможно ли записать в ресурсы проекта на VC6 или VC7 бинарник драйвера? Если это возможно то помогите примером или хотя бы советом где порыться.</span><br /> <br /> Не обязательно в ресурсы, ИМХО проще в переменую.<br /> <br /> Скрипт на пёрле (который я не знаю, поэтому не пинать сильн...

Ключевые слова:
Автор: Alex Fedotov
Аннотация: <span class='lineQuote level1'>M&gt;Выдает ошибку, когда имя больше(не знаю точно) 300 знаков, да еще по алгоритму новое имя в три раза длиннее 900. Ошибка: dwError = 3.</span><br /> <span class='lineQuote level1'>M&gt;По мсдн можно до около 32000 знаков в имени с поддержкой уникоде и WinXP. Так что где реальность?</span><br /> <br /> Там надо специальным образом имена файлов записывать, чтобы ...

Ключевые слова:
Автор: Ключевский Андрей Богданович
Перевод: Ключевский Андрей Богданович
Источники: RSDN Magazine #4-2010
Блог Software Know How
Материал предоставил: Ключевский Андрей Богданович
Аннотация: В данной статье делается введение в Windows Imaging API, а также детально рассматриваются 3 типовые операции работы с образами Windows: их захват, применение и удаление.

Ключевые слова: WIMGAPI; WIM; Windows Imaging API
Авторы: Игорь Ткачёв
Павел Блудов
Игорь Вартанов
Игорь Сухов
Александр Шаргин
Аннотация: Библиотечная функция access позволяет определять режим доступа к файлу, а если второй параметр mode равен нулю, то определяется только существование файла.

Ключевые слова:
Автор: Игорь Ткачёв
Аннотация: Для определения свободного места на диске в Win32 используются функции GetDiskFreeSpaceEx или GetDiskFreeSpace. В принципе, функция GetDiskFreeSpaceEx возвращает всю необходимую информацию, включая свободное место доступное пользователю, ассоциированному с вызывающим потоком. Но, как это обычно бы...

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Для этой цели хорошо подходит функция SHFileOperation. Тип операции wFunc необходимо установить в FO_DELETE. Обычный режим работы функции предусматривает вывод диалога отображения протекания файловой операции (прогресс-диалога) и получение подтверждения от пользователя на выполнение операции. При не...

Ключевые слова:
Автор: Шитц Виталий
Источник: RSDN Magazine #4-2004
Аннотация: Как сделать чтобы запущеный exe сам себя удалил?

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Рассмотрение начнем с системных функций Windows. Сразу необходимо напомнить, что имея дело с файлами, всегда необходимо помнить об ограничении длины полного имени файла, накладываемого операционной системой. Для ANSI-версий функций (единственно доступных для ОС Windows 95/98), выполняющих файловые о...

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Во всех указанных случаях режимы открытия файлов должны быть согласованы между собой. Иначе говоря, если поток FILE* открыт на чтение, то невозможно будет получить из него HANDLE, доступный на запись.

Ключевые слова:
Автор: Alex Fedotov
Аннотация: Здравствуйте, arbidol, Вы писали:<br /> <span class='lineQuote level1'><br /> A&gt;Всё ж где-то в душе надеюсь что есть какой-то идентификатор в файловой системе для файла, по которому можно отследить что есть что.</span><br /> <br /> Вы можете открыть файл, а потом вызвать <a target='_blank' class='m' href='http://search.microsoft.com/ru-RU/results.aspx?q=GetFileInformationByHandle'>GetFileInformationByHandle</a>. В возвращаемой структуре есть идентификатор ф...

Ключевые слова:
Автор:
Аннотация: Здравствуйте, Аноним, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt; <img border='0' width='19' height='19' src='../Forum/images/wow.gif' /> Помгите пожалуйста нужна сылка где можно скачать литературу где описана работа с папками (создание ,удаление и т.д.).</span><br /> <br /> Бей лодырей!!! Ах ты, лентяй хренов, на, палучай, тунеядец!!!<br /> <br /> <hr /><br /> <br /> <h3 class='formatter'>Создание</h3> <b>CreateDirectory</b>()<br /> создаёт только п...

Ключевые слова:
Автор: Алексей Фоминов
Источник: RSDN Magazine #5-2005
Аннотация: Кто не мечтает о быстром CD-ROM? Быстрый CD-ROM – это хорошо… с одной стороны. А если на компакт-диске появилась трещина? Быстрый CD-ROM – это уже не хорошо. На скорости 52 такой компакт-диск читать просто опасно. А если на этом диске жизненно важные данные? Выход есть. Просто снизить скорость привода. Если вы знакомы с языком программирования Object Pascal, тогда читайте далее.

Ключевые слова: SCSI
Автор: Виталий Брусенцев
Аннотация: Класс CFileMap упрощает работу с файлами, проецируемыми в память (memory-mapped files).

Ключевые слова:
Автор: Кодт
Аннотация: Здравствуйте, Зверёк Харьковский, Вы писали:<br /> <span class='lineQuote level1'><br /> ЗХ&gt;<i>В меру идиотский вопрос.</i></span><br /> <span class='lineQuote level1'>ЗХ&gt;Возможен ли сабж? Т.е. возможно ли создать переменную типа FILE*, чтобы все fwrite в нее на самом деле писали в буфер в памяти?</span><br /> <span class='lineQuote level1'><br /> ЗХ&gt;нужен JEPG в памяти; а libjpeg, зараза, либо через FILE*, либо какой-то кошмар...</span>

Ключевые слова:
Автор: Odi$$ey
Аннотация: [ccode]<br /> //Функция сохраняет содержимое ресурса в виде файла sFileName<br /> BOOL ResToFile(CString sFileName, LPCSTR lpName, LPCSTR lpType)<br /> { <br /> HRSRC hrRes=NULL; <br /> HGLOBAL pRes=NULL; <br /> LPVOID pFileInRes=NULL; <br /> <br /> hrRes=FindResource( NULL, lpName, lpType ); <br /> if ...

Ключевые слова:

Active Directory

Автор: Сергей Зернюков
Источник: RSDN Magazine #5-2005
Аннотация: Active Directory for Application Mode (ADAM) представляет собой локальную версию Active Directory (далее по тексту – AD), устанавливаемую в виде службы NT. ADAM предназначен для хранения данных, которые имеют иерархическую структуру, особенно, если эти данные каким-то образом связанны с данными в AD. Типичными примерами таких приложений могут служить: глобальные адресные книги и системы работы с клиентами или персоналом.

Ключевые слова: ADAM, Active Directory for Application Mode

COM,LPT

Автор: Сивцов Павел
Источник: RSDN Magazine #4-2004
Аннотация: Статья рассказывает о некоторых приемах работы с LPT­ и COM­портами из­под операционных систем линейки Windows NT.

Ключевые слова: DeviceControl,LPT,COM

DLL

Автор: Игорь Вартанов
Аннотация: Собственно интерфейс класса-шаблона незамысловат:

Ключевые слова:
Автор: Odi$$ey
Аннотация: <span class='lineQuote level1'>Tom&gt;нужно узнать, не по её имени, так как в текущем процессе есть 2 dll с одинаковым именем, но сами разные</span><br /> <br /> если не проходит простейший вариант<br /> <br /> [ccode]<br /> HINSTANCE hInst;<br /> ...<br /> BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)<br /> { <br /> if (fdwReason == DLL_PROCESS_ATTACH)<br /> ...

Ключевые слова:
Автор: Максим М. Гумеров
Аннотация: Не вдаваясь в подробности, скажу лишь, что исследование было начато ради сокрытия использования программой на Delphi некоей DLL (написанной на VC++). То есть оператор видит один только Exe-файл, запускает его, а тот каким-то образом подключает функции, содержащиеся изначально (при компиляции проекта) в некоторой DLL.

Ключевые слова: PE
Автор: Роман Хациев
Аннотация: Если вы пытались работать с экземплярами классов STL, передавая их в DLL, или получая оттуда, а потом бросили это занятие из-за непонятных ошибок, возникающих в вашей программе, то эта заметка для вас. Даже если видимых проблем в вашей программе нет, то все равно прочитайте эту заметку, чтобы знать что делать, когда они появятся :)

Ключевые слова:
Автор: Александр Шаргин
Аннотация: В статье рассматривается три способа подключения DLL к программе на Visual C++ - неявное подключение (implicit linking), явное подключение (explicit linking) и отложенная загрузка (delayed load) DLL. Для каждого способа демонстрируется использование переменной, функции и класса из подключаемой DLL. В разделе об отложенной загрузке также приводится дополнительная информация (описание обработки исключений и использования функций-ловушек).

Ключевые слова:
Автор: Роман Мананников
Источник: RSDN Magazine #5-2003
Аннотация: В статье описаны методы решения проблем, возникающих при использовании библиотек, созданных различными средствами разработки.

Ключевые слова: DLL, Borland C++ Builder,
Автор: Сторожевых Сергей
Источник: RSDN Magazine #3-2007
Аннотация: При решении многих задач системного программированния зачастую бывает необходимо загрузить динамически подключаемую библиотеку (DLL) в адресное пространство другого процесса, с целью исследования либо изменения его поведения. В данной статье показан способ, позволяющий внедрить DLL в любой процесс (в том числе защищенный) на самом раннем этапе его создания.

Ключевые слова: inject, DLL, APC
Автор: Odi$$ey
Аннотация: <span class='lineQuote level1'>AP&gt;Есть DLL , написанная на VC++, есть LIB а также есть хэдер (H)</span><br /> <span class='lineQuote level1'><br /> AP&gt;Вопрос</span><br /> <span class='lineQuote level1'>AP&gt;1.Как правильно подключить библиотеку?</span><br /> <br /> сначала ее надо создать ( lib от VC не подойдет):<br /> <br /> <a class="m" href="https://rsdn.org/File/82/implib.zip" title="">implib</a> -a my.lib my.DLL<br /> <span class='lineQuote level1'><br /> AP&gt;2.Как правильно вызвать ConnectToMetrServer...</span>

Ключевые слова:
Автор: Odi$$ey
Аннотация: Здравствуйте, LordWin, Вы писали:<br /> <span class='lineQuote level1'><br /> LW&gt;Как имея Dll которая была написана для експорта в Visual Basic (стянул у автора а обратного адреса для мыла у него нету) перенести в Visual C++ 7 .NET ????</span><br /> <span class='lineQuote level1'>LW&gt;Visual C++ 7 .NET говорит что .lib файл неподходит или же битый ....</span><br /> <br /> 1. берем проект, в котором н...

Ключевые слова:
Автор: Андрей Солодовников
Источник: RSDN Magazine #4-2004
Аннотация: В данной статье описывается способ реализации отложенной загрузки динамических библиотек на С++ без использования механизма delayload, приведена реализация библиотеки отложенной загрузки и пример ее использования.

Ключевые слова: DelayLoad
Автор: Alex Fedotov
Аннотация: <span class='lineQuote level1'>_D&gt;Здравствуйте!</span><br /> <span class='lineQuote level1'>_D&gt;Ситуация следующая: </span><br /> <span class='lineQuote level1'>_D&gt;есть:</span><br /> <span class='lineQuote level1'>_D&gt;A.DLL, экспортирующая около 500 символов (функции и переменные)</span><br /> <span class='lineQuote level1'>_D&gt;нужно: </span><br /> <span class='lineQuote level1'>_D&gt;написать обертку для A.DLL</span><br /> <span class='lineQuote level1'>_D&gt;предполагаемое решение:</span><br /> <span class='lineQuote level1'>_D&gt;создать B.DLL, реализовать в ней часть функций из A.DLL, на остальные символы сделать форвардинг</span><br /> <span class='lineQuote level1'>_D&gt;вопр...</span>

Ключевые слова:
Автор: Dr. Joseph M. Newcomer
Перевод: Алексей Остапенко
Источник: Hooks and DLLs
Аннотация: Статья посвящена реализации глобальных хуков. В ней рассматриваются типичные проблемы, связанные с различием виртуальных адресов перехватывающей DLL в адресных пространствах различных процессов, описывается способ создания разделяемого сегмента данных, приводится пример DLL, реализующей глобальный хук.

Ключевые слова:
Автор: retalik
Аннотация: Здравствуйте, Burz, Вы писали:<br /> <span class='lineQuote level1'><br /> B&gt;Здесь:</span><br /> <span class='lineQuote level1'>B&gt;<a class="microsoft m" href="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm" target="_blank">http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm</a></span><br /> <span class='lineQuote level1'>B&gt;вроде как старая версия: 1.0 ?!</span><br /> <br /> Очень полезная ссылка: [url=<a class="microsoft m" href="http://support.microsoft.com/de" target="_blank">http://support.microsoft.com/de</a>...

Ключевые слова:

MMC

Автор: Ray F. Djajadinata
Перевод: Алифанов Андрей
Аннотация: В статье показаны основные механизмы работы Консоли управления и написания оснасток для нее. Также рассказывается, как обойти ограничения библиотеки ATL при работе с контекстными меню и исправить одну досадную ошибку.

Ключевые слова:

SEH

Автор: Беляев Алексей
Источник: RSDN Magazine #1-2004
Аннотация: В статье приводится пример того, как получить управление в случае фатальной ошибки приложения, чтобы произвести ”предсмертные” действия.

Ключевые слова: SEH
Автор: Олег Тарасенко
Источник: RSDN Magazine #4-2009
Аннотация: Отладка багов на удаленной машине пользователя со-пряжена с недостатком технической информации об ошибке, в связи с чем очевидна необходимость исполь-зования специальных инструментов для сбора данных об ошибке и их автоматической доставки разработчи-ку ПО. В данной статье рассматривается использова-ние открытой библиотеки CrashRpt применительно к обработке исключений в приложении, доставке отче-тов об ошибках по сети Интернет и их последующему анализу.

Ключевые слова: Visual C++, программа, исключение, ошибка, креш, отчет, обработка, доставка, автоматизация, минидамп, стек
Автор: Шахтер
Аннотация: Здравствуйте, MT, Вы писали:<br /> <span class='lineQuote level1'><br /> MT&gt;Можно ли перехватить <b>фатальные ошибки вроде "Memory could not be read"</b>?</span><br /> <span class='lineQuote level1'>MT&gt;Пробовал так:</span><br /> <span class='lineQuote level1'><br /> MT&gt;<pre class='c'><code>MT&gt; <span class='kw'>try</span> { MT&gt; } <span class='kw'>catch</span> (...) { MT&gt; } MT&gt;</code></pre></span><br /> <span class='lineQuote level1'><br /> MT&gt;Но очевидно что не все ошибки перехватываются...</span><br /> <br /> Рассказываю (и показываю). То что вы...

Ключевые слова:

Unicode

Автор: Павел Блудов
Аннотация: В статье рассматриваются способы создания уникодных приложений, способных выполняться в Windows9x/Me

Ключевые слова:
Автор: Кодт
Аннотация: Здравствуйте, Аноним, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;Блин, запутался совсем! Всегда считал, что Unicode-кодировка это просто 2 байта на символ. Причем существует только одна кодовая таблица, в которой содержаться алфавиты всех языков мира + еще всякие вспомогательные символы.</span><br /> <span class='lineQuote level1'><br /> А&gt;А тут еще всяки utf-7, utf-8... Э...</span>

Ключевые слова:

Win32 API

Автор: Alex Fedotov
Аннотация: Здравствуйте THEOS, Вы писали:<br /> <span class='lineQuote level1'><br /> THEOS&gt;Чем интересна "CALLBACK" функция в чём её смысл, особенности и чем она отличается от функции типа callforward <img border='0' width='15' height='15' src='../Forum/images/smile.gif' />.</span><br /> <br /> Ничем. Callback-функциями называют такие функции, которые реализуются в приложении, а вызываются операционной системой (или, в общем случае, др...

Ключевые слова:
Автор: Игорь Вартанов
Аннотация: Загрузить классы CErrCodeMsg и CLastErrCodeMsg

Ключевые слова:
Автор: Акопов Роман Рубенович
Источник: RSDN Magazine #4-2010
Аннотация: Kernel Transaction Manager в Windows 2008, 2008 R2, Vista, Seven и их использования из C#

Ключевые слова: Transactional NTFS; Transactional Registry; TxF; TxR
Автор: Алексей Фоминов
Источник: RSDN Magazine #3-2006
Аннотация: Большинство современных жестких дисков поддерживают технологию S.M.A.R.T. – Self-Monitoring, Analysis and Reporting Technology (Технология самодиагностики, анализа и отчёта), благодаря которой возможно предсказать появление сбоев в работе жесткого диска, и позволить пользователю своевременно сделать резервную копию диска или же полностью его заменить. Существует множество программ, дающих возможность следить за состоянием винчестера посредством технологии S.M.A.R.T., однако большинство из них – платные. В своей статье я постараюсь рассказать о том, как встроенными средствами операционной системы Windows и с помощью языка Object Pascal вы сможете написать программу подобного рода и потом использовать её абсолютно бесплатно.

Ключевые слова: SMART
Автор: Alex Fedotov
Аннотация: Здравствуйте ServerMouse, Вы писали:<br /> <span class='lineQuote level1'><br /> SM&gt;Нужно мне синхронизировать апликейшн с сервисом под 2000. Делаю примерно так:</span><br /> <span class='lineQuote level1'>SM&gt;//___ Service ___</span><br /> <span class='lineQuote level1'>SM&gt;PrEvent=CreateEvent(NULL,false,false,"Global\\PrEvent");</span><br /> <span class='lineQuote level1'>SM&gt;//_______ Application ______</span><br /> <span class='lineQuote level1'>SM&gt;PrEvent=OpenEvent(SYNCHRONIZE,TRUE,"Global\\PrEvent");</span><br /> <br /> S...

Ключевые слова:
Автор: Серебряков Алексей (Smooky)
Источник: RSDN Magazine #3-2007
Аннотация: Статья предоставляет общие сведения об использовании журнала событий Windows, а также даются примеры создания собственных источников событий.

Ключевые слова: Event,Logging,Management
Автор: Игорь Ткачёв
Аннотация: Функция GetLastError позволяет получать код последней ошибки. При этом, сам код ошибки может сказать Вам о многом, но иногда нужно ещё и сказать об этом пользователю, выдав вразумительное сообщение. И конечно же лучший вариант - получить текст сообщения об ошибке от самой операционной системы.

Ключевые слова:
Автор: Яковлев Игорь Сергеевич
Источник: RSDN Magazine #4-2005
Аннотация: Эта статья является введением в программирование на «чистом» Win32 API. Она предназначена для начинающих программистов, пишущих программы на Visual C++ 6 при помощи библиотеки MFC, но, я надеюсь, может пригодиться и более опытным людям.

Ключевые слова: winapi
Автор: Алексей Остапенко
Аннотация: В статье описывается возможная схема написания расширений стандартной реализации сервиса GINA (Graphical Identification and Authentication) MSGINA.Dll. Приводится пример простейшего расширения, блокирующего запуск скринсейвера, если запущено приложение из определенного списка.

Ключевые слова:
Автор: Odi$$ey
Аннотация: <span class='lineQuote level1'>J&gt;Как программно находить окно поимени , заполнять textboxы и нажимать на нужные баттоны?</span><br /> <br /> MSDN Magazine, Русская редакция, спец. выпуск N2<br /> <a class="microsoft m" href="http://www.microsoft.com/rus/msdn/magazine/archive/special_2/debugging.asp" target="_blank">http://www.microsoft.com/rus/msdn/magazine/archive/special_2/debugging.asp</a><br /> Утилита Tester, дубль 3: запись и воспроизведение операций с мышью<br /> Джон Роббинс<br /> ...

Ключевые слова:
Автор: Alex Fedotov
Аннотация: <span class='lineQuote level1'>T&gt;Наверно че-то я торможу, не нашел функцию чтоб получит активное окно, а надо, как это можно сделать?</span><br /> <br /> <a target='_blank' class='m' href='http://search.microsoft.com/ru-RU/results.aspx?q=GetForegroundWindow'>GetForegroundWindow</a>

Ключевые слова:
Автор: Patalog
Аннотация: Здравствуйте muzzzy, Вы писали:<br /> <span class='lineQuote level1'><br /> M&gt;Надо написать программу установки драйверов для хитрых PCI карт , как узнать какие PCI устройства есть в системе, и как автоматически поставить inf на каждую плату ?</span><br /> <br /> Все что показывет Device Manager (включая скрытые устройства) можно посмотреть так:<br /> [ccode]<br /> ...

Ключевые слова:
Авторы: Burd
Alex Fedotov
Alexey Goncharov
Andrew S
Источник: RSDN Magazine #5-2004
Аннотация: - Как реализовать функцию "свернуть все окна"? - Вид прототипа диалоговой процедуры - С помощью SetWindowRgn я скруглил углы моего диалога, но теперь нет возможности схватить за эти круглые края и изменить размер диалога. Как это сделать? - Как запустить "My computer" и "Recycle Bin" из другого приложения? Заранее благодарен

Ключевые слова: Shell_TrayWnd,
Автор: Роман Бурда
Источник: RSDN Magazine #1-2006
Аннотация: Рассматривается использование Winlogon notification package для обработки событий входа и выхода пользователей, включения и выключения операционной системы и некоторых других.

Ключевые слова: Winlogon notification package