我正在尝试创建一个 C# 程序,但我不希望窗口在打开时处于活动状态。我希望它在后台打开,并且窗口显示在我的其他程序之上,除了我希望我的活动窗口保持不变。这是因为我正在使用全屏程序,我不希望我的小弹出窗口让我退出全屏模式。
程序使用(可能有助于理解我需要什么):我正在创建一组将备用鼠标变成媒体控制器的宏。滚轮控制音量,左键控制播放/暂停等。我使用 Spotify 播放音乐,我希望能够独立于计算机的全局音量来更改 Spotify 的音量。我已经在这里使用代码解决了这个问题。我想显示一个弹出窗口,告诉我当我使用滚轮时,我正在改变 Spotify 的音量,而不是全局音量。我希望能够激活宏,显示弹出窗口,根据需要更改音量,然后在不退出全屏应用程序的情况下停用宏。希望这会有所帮助,谢谢!
程序使用编辑:这里只是一个解释视频,应该比试图解释更容易。澄清一下,我希望程序在启动时不要更改已激活的窗口,并且始终处于最顶层,而无需我先激活它。谢谢!!!https://streamable.com/2pewz
我正在使用一个名为 QuickMacros 的程序来打开弹出窗口,我在其中尝试了一些不同的设置,但没有任何运气。我对 C# 没有任何经验,所以我没有在 C# 中尝试过任何东西。
我的代码与问题无关,但在这里以防万一。所有这一切都是让我能够移动弹出窗口。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SpotifyPopup
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Left += e.X - lastPoint.X;
this.Top += e.Y - lastPoint.Y;
}
}
Point lastPoint;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
lastPoint = new Point(e.X, e.Y);
}
private void label1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Left += e.X - lastPoint2.X;
this.Top += e.Y - lastPoint2.Y;
}
}
Point lastPoint2;
private void label1_MouseDown(object sender, MouseEventArgs e)
{
lastPoint2 = new Point(e.X, e.Y);
}
}
}
谢谢您的帮助!