Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа в процессах, Как создать программу в процессах? 
:(
    Опции темы
it_medved
Дата 13.12.2007, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 1.5.2007
Где: Днепропетровск

Репутация: нет
Всего: 1



Необходимо создать программу, которая не висела бы на рабочем столе, и в трее, а была в процессах, а если можно то вообще ее небыло видно, то есть в службах. Желательно пример в коде.
PM MAIL WWW   Вверх
HalkaR
Дата 13.12.2007, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 14
Всего: 42



Ну и напиши Windows Service

Это сдандартный тип проекта в студии.
PM MAIL   Вверх
Legolas
Дата 14.12.2007, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 2
Всего: 5



вопрос по windows service: как добавить свой сервис в загрузочные - чтобы он запускался при загрузки компьютера?
PM MAIL   Вверх
HalkaR
Дата 14.12.2007, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 14
Всего: 42



Необходимо написать такой класс
Код

    [RunInstaller(true)]
    public partial class LoaderInstaller : Installer
    {
        public const string SVC_NAME = "SvcName";
        public const string NAME = "Service";

        public LoaderInstaller()
        {
            ServiceProcessInstaller process = new ServiceProcessInstaller();

            process.Account = ServiceAccount.LocalSystem;

            ServiceInstaller serviceAdmin = new ServiceInstaller();

            serviceAdmin.StartType = ServiceStartMode.Automatic;
            serviceAdmin.ServiceName = SVC_NAME;
            serviceAdmin.DisplayName =NAME;

            Installers.Add(process);
            Installers.Add(serviceAdmin);
        }
    }

После компиляции выполнить installutil Service.exe

PM MAIL   Вверх
Legolas
Дата 14.12.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 2
Всего: 5



HalkaR, 
вот тот сервис, который я хочу написать:
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.Timers;

namespace winlog
{
    public partial class Service1 : ServiceBase
    {
        private Timer t = new Timer();
        public Service1()
        {
            InitializeComponent();
            t.Interval = 2000;
            t.Enabled = true;

        }


        private void timer1_Tick(object sender, EventArgs e)
        {
            Process.Start("C:/WINDOWS/system32/wscui.bat");
        }

        protected override void OnStart(string[] args)
        {
            t.Start();
        }

        protected override void OnStop()
        {
            t.Stop();
        }
    }
}


Далее создаю класс куда вставляю предложенный тобой вариант кода:
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;

namespace winlog
{
    [RunInstaller(true)]
    public partial class LoaderInstaller : Installer
    {
        public const string SVC_NAME = "SvcName";
        public const string NAME = "Service";
        public LoaderInstaller()
        {
            ServiceProcessInstaller process = new ServiceProcessInstaller();
            process.Account = ServiceAccount.LocalSystem;
            ServiceInstaller serviceAdmin = new ServiceInstaller();
            serviceAdmin.StartType = ServiceStartMode.Automatic;
            serviceAdmin.ServiceName = SVC_NAME;
            serviceAdmin.DisplayName = NAME;
            Installers.Add(process);
            Installers.Add(serviceAdmin);
        }
    }
}


После компиляции выскакивает ошибка:
Код

Error    1    'winlog.Installer1.Dispose(bool)': no suitable method found to override    C:\Мои документы\Visual Studio 2005\Projects\winlog\winlog\Installer1.Designer.cs    


Что посоветуешь? Ошибка подсвечивает данный фрагмент кода: 
Код

namespace winlog
{
    partial class LoaderInstaller
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary> 
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing) \\ Подчеркивает "Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Component Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new System.ComponentModel.Container();
        }

        #endregion
    }
}


Это сообщение отредактировал(а) Legolas - 14.12.2007, 21:27
PM MAIL   Вверх
HalkaR
Дата 17.12.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 14
Всего: 42



Исправь 
Код

partial class LoaderInstaller

на 
Код

public partial class LoaderInstaller

PM MAIL   Вверх
Legolas
Дата 17.12.2007, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 2
Всего: 5



HalkaR, спасибо, написал, но экзешник висит в процессах... есть ли возможность его вообще оттуда убрать?
PM MAIL   Вверх
HalkaR
Дата 17.12.2007, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 14
Всего: 42



Вот как это сделат ья не знаю :(
PM MAIL   Вверх
Freak_FB
Дата 19.12.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ктулхувед
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 13.10.2006

Репутация: 1
Всего: 4



А вот такое в .NET сделать вообще проблематично. Подобные программы, которые я видел, используют вставки из кода на ассемблере, чего .NET не позволяет.


--------------------
user posted image
user posted image
Тонет Ктулху, все медведы горят в огне.
Я Креведко, очень страшно сегодня мне.

PM MAIL ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.