C# 自动启动是否有可能自动将应用程序添加到启动文件夹。现在我可以通过自动启动下载和安装 C# 应用程序,但是当我重新启动 Windows 时,应用程序不会自动分级。怎么做?
我有一个我想要构建的应用程序,当你启动mac时会启动它并将出现在Dock中.
我有一些Objective-C和iPhone开发经验但没有Mac开发经验,我通常也是PC用户,所以我不喜欢Mac使用规范.这里的任何指导表示赞赏.
你如何获得自动启动的应用程序?
*编辑您可以在状态栏中运行应用程序吗?(与时钟等)或应用程序只在Dock中运行?
我正在使用Qt.
我无法在启动时找到启动应用程序的函数或类.
例如,在Windows中,将注册添加到HKMU/Software/Microsoft/Windows/CurrentVersion/Run.
我想知道上面例子中的函数/类.
本教程来自android-er,主要活动(AndroidScheduledActivity.java)重启启动AlarmManager来触发BroadcastReceiver(MyScheduledReceiver.java).在MyScheduledReceiver的onReceive()方法中,它间接启动另一个活动(MyScheduledActivity.java).这样活动(MyScheduledActivity.java)将在预定的时间间隔内启动.现在我会使用AutoStart自动启动,但我无法编写AutoStartNotifyReceiver.请你能告诉我如何管理它吗?非常感谢 !
主要活动,AndroidScheduledActivity.java:
public class AndroidScheduledActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonStart = (Button)findViewById(R.id.start);
buttonStart.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
Intent myIntent = new Intent(getBaseContext(),
MyScheduledReceiver.class);
PendingIntent pendingIntent
= PendingIntent.getBroadcast(getBaseContext(),
0, myIntent, 0);
AlarmManager alarmManager
= (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
long interval = 60 * 1000; //
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), interval, pendingIntent);
finish();
}});
}
}
Run Code Online (Sandbox Code Playgroud)
然后是BroadcastReceiver,MyScheduledReceiver.java …
我创建了一个用于安装服务的批处理文件,因为我需要在PC上安装我的服务而没有Visual Studio.
批处理文件的内容:
@echo OFF
echo Installing service...
sc create "MyService" binpath= %~dp0\MyService.exe start= auto
echo Installing service complete
pause
Run Code Online (Sandbox Code Playgroud)
我需要在安装后自动启动MyService,所以我创建了这段代码:
private void svInstaller_AfterInstall(object sender, InstallEventArgs e)
{
ServiceController sc = new ServiceController(svInstaller.ServiceName);
sc.Start();
}
Run Code Online (Sandbox Code Playgroud)
如果我通过Visual Studio命令提示符使用InstallUtil安装我的服务,请不要有任何问题.当我通过批处理文件安装服务时,我的服务没有自动启动.
如何通过批处理文件安装后自动启动我的服务?
更新:感谢Sam Denty的回答,我的问题得到了解决.
但我有另一个问题:当我通过sc安装我的服务时,我在AfterInstall函数中的代码不起作用?
简短的介绍:
我想在启动后通过 systemd 服务脚本自动启动一个可执行文件(opencv 二进制文件,通过 C++ 生成),但我没有成功。
我将错误范围缩小到代码语句“cv::imshow(....)”,它打开一个窗口并显示一个图像。此时代码抛出错误:“QXcbConnection:Could not connect to display”
但是,如果我手动执行 sh-script 或二进制文件,两者都可以正常工作。我在 stackoverflow 上搜索了最常见的错误,并尝试修复我能找到的所有错误。我很确定:
我将不胜感激任何帮助。请帮助我修复错误,并请向我解释为什么会首先发生此错误。非常感谢 :)
.
我的系统:
Machine: Raspberry Pi 3 Model B
Architecture: arm32 / ARMv7
OS: NOOBS
Run Code Online (Sandbox Code Playgroud)
.
我在 /etc/systemd/system/ (test.service) 中的脚本:
[Unit]
Description=lalala
[Service]
Type=oneshot
ExecStart=/bin/bash "/home/pi/Desktop/test.sh" start
ExecStop=/bin/bash "/home/pi/Desktop/test.sh" stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
此外,我确实执行了以下命令:
sudo chmod u+rwx /etc/systemd/system/test.service
sudo systemctl enable test
Run Code Online (Sandbox Code Playgroud)
如果我手动启动该服务,它会以与引导过程中自动启动时相同的错误输出运行:
sudo systemctl enable test
Run Code Online (Sandbox Code Playgroud)
.
我的 shell 脚本(test.sh):
#!/bin/sh -e
exec 2> …Run Code Online (Sandbox Code Playgroud) 我正在使用 bat 文件在启动时运行 python 脚本。手动通过 CMD 运行脚本不会出现任何问题。但是,使用 bat 文件执行它会产生权限错误,其中脚本应该截取屏幕截图并保存它。
我尝试过使用不同的模块来拍照,认为这就是问题所在 - 但它没有帮助。我还授予了管理员权限,但这也没有帮助。
这是bat文件:
"C:\Users\name\python.exe" "C:\Users\name\run.py" pause
Run Code Online (Sandbox Code Playgroud)
这些是 python 代码中有问题的行:
image = ImageGrab.grab()
image.save('C:\\full\\path\\to\\screen.png')
Run Code Online (Sandbox Code Playgroud)
和错误:
PermissionError: [Errno 13] Permission denied: 'C:\\Path\\to\\screen.png
Run Code Online (Sandbox Code Playgroud)
期望代码通过批处理文件运行无错误,因为它是手动执行的。
谢谢。
我正在尝试使用 linux 命令“script”设置一个小 shell 脚本来记录我的 Kali Linux 机器上的每个输入。
#!/bin/bash
now=$(date +"%m_%d_%Y_%H:%M:%S")
script /root/Logs/log_$now.txt
Run Code Online (Sandbox Code Playgroud)
该脚本本身似乎可以工作,但我想将其添加到 bash 自动启动中,因此每当我打开终端时,我的 shellscript 就会被执行。
我尝试将其添加到我的 .bashrc 文件中,但是当我现在打开终端时,脚本会循环。我添加了一个简单的“echo 'test'”脚本,它仅在终端启动时启动一次。将脚本添加到我的 .profile 文件并手动执行 .profile 按预期工作,但是一旦我使用“script”命令输入我的 .bashrc 脚本,它就会循环。
先感谢您。
这是一个适用于 Linux 的电子应用程序。
main.js
const electron = require("electron");
const app = electron.app;
const browserWindow = electron.BrowserWindow;
const path = require("path");
const url = require("url");
let win;
function createWindow() {
win = new browserWindow({width: 800, height: 600});
win.loadURL(url.format({
pathname : path.join(__dirname,"index.html"),
protocol : "file",
slashes : true ,
}));
win.on("closed", () => {win = null;})
}
app.on("ready", createWindow);
app.on("window-all-closed", () => {
if(prcess.platform !== "darwin")
app.quit()
});
app.on ("activate", ()=> {
if(win == null)
createWindow()
});
Run Code Online (Sandbox Code Playgroud)
我在 Linux 中通过 启动该应用程序npm …
autostart ×10
android ×2
bash ×2
batch-file ×2
alarm ×1
alarmmanager ×1
c# ×1
dock ×1
electron ×1
linux ×1
macos ×1
opencv ×1
python ×1
qt ×1
raspberry-pi ×1
shell ×1
system-tray ×1
systemd ×1