未安装服务时在当前进程运行
This commit is contained in:
@@ -1,15 +1,15 @@
|
|||||||
|
use std::{io, thread};
|
||||||
use std::ffi::OsString;
|
use std::ffi::OsString;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use std::{io, thread};
|
|
||||||
|
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use console::style;
|
use console::style;
|
||||||
|
use windows_service::Error;
|
||||||
use windows_service::service::{
|
use windows_service::service::{
|
||||||
ServiceAccess, ServiceErrorControl, ServiceInfo, ServiceStartType, ServiceState, ServiceType,
|
ServiceAccess, ServiceErrorControl, ServiceInfo, ServiceStartType, ServiceState, ServiceType,
|
||||||
};
|
};
|
||||||
use windows_service::service_manager::{ServiceManager, ServiceManagerAccess};
|
use windows_service::service_manager::{ServiceManager, ServiceManagerAccess};
|
||||||
use windows_service::Error;
|
|
||||||
|
|
||||||
use crate::config;
|
use crate::config;
|
||||||
|
|
||||||
@@ -109,13 +109,13 @@ pub fn main0() {
|
|||||||
println!("{}", style("卸载成功").green())
|
println!("{}", style("卸载成功").green())
|
||||||
}
|
}
|
||||||
} else if args.start {
|
} else if args.start {
|
||||||
match service_state() {
|
|
||||||
Ok(state) => {
|
|
||||||
if state == ServiceState::Stopped {
|
|
||||||
if args.token.is_none() {
|
if args.token.is_none() {
|
||||||
println!("{}", style("需要参数 --token").red());
|
println!("{}", style("需要参数 --token").red());
|
||||||
} else {
|
} else {
|
||||||
let token = args.token.clone().unwrap();
|
let token = args.token.clone().unwrap();
|
||||||
|
match service_state() {
|
||||||
|
Ok(state) => {
|
||||||
|
if state == ServiceState::Stopped {
|
||||||
config::save_config(config::ArgsConfig::new(
|
config::save_config(config::ArgsConfig::new(
|
||||||
token.clone(),
|
token.clone(),
|
||||||
args.name.clone(),
|
args.name.clone(),
|
||||||
@@ -126,6 +126,14 @@ pub fn main0() {
|
|||||||
//需要检查启动状态
|
//需要检查启动状态
|
||||||
println!("{}", style("启动成功").green())
|
println!("{}", style("启动成功").green())
|
||||||
}
|
}
|
||||||
|
Err(e) => {
|
||||||
|
log::error!("{:?}", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
println!("服务未停止");
|
||||||
|
}
|
||||||
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
match e {
|
match e {
|
||||||
Error::Winapi(ref e) => {
|
Error::Winapi(ref e) => {
|
||||||
@@ -143,18 +151,10 @@ pub fn main0() {
|
|||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
log::error!("{:?}", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
println!("服务未停止");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Err(e) => {
|
|
||||||
println!("{:?}", e);
|
println!("{:?}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else if args.stop {
|
} else if args.stop {
|
||||||
match stop() {
|
match stop() {
|
||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user