controlapp/ControlApp/Subliminal.cs
2025-03-18 18:05:19 -07:00

123 lines
3.9 KiB
C#

using System;
using System.ComponentModel;
using System.Configuration;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using AxWMPLib;
namespace ControlApp;
public class Subliminal : Form
{
private Timer tmr;
private const int GWL_STYLE = -20;
private const uint WS_POPUP = 2147483648u;
private const uint WS_CHILD = 536870912u;
private IContainer components;
private AxWindowsMediaPlayer axWindowsMediaPlayer1;
private Label label1;
[DllImport("user32.dll", SetLastError = true)]
private static extern uint GetWindowLong(nint hWnd, int nIndex);
[DllImport("user32.dll")]
private static extern int SetWindowLong(nint hWnd, int nIndex, uint dwNewLong);
public Subliminal(string what, bool message)
{
InitializeComponent();
base.StartPosition = FormStartPosition.CenterScreen;
Screen[] my = Screen.AllScreens;
base.Size = my[0].Bounds.Size;
base.FormBorderStyle = FormBorderStyle.None;
base.TopMost = true;
base.Visible = true;
uint initialStyle = GetWindowLong(base.Handle, -20);
SetWindowLong(base.Handle, -20, initialStyle | 0x80000 | 0x20);
tmr = new Timer();
tmr.Tick += delegate
{
Close();
};
Random rand = new Random();
if (ConfigurationManager.AppSettings["PopSet"] != null && "Long" == ConfigurationManager.AppSettings["PopSet"].ToString())
{
int mins = rand.Next(11);
tmr.Interval = (int)TimeSpan.FromMinutes(mins).TotalMilliseconds;
}
else
{
int mins2 = rand.Next(55) + 5;
tmr.Interval = (int)TimeSpan.FromSeconds(mins2).TotalMilliseconds;
}
tmr.Start();
if (message)
{
label1.Text = what;
axWindowsMediaPlayer1.Visible = false;
return;
}
label1.Visible = false;
axWindowsMediaPlayer1.URL = what;
axWindowsMediaPlayer1.Ctlenabled = false;
axWindowsMediaPlayer1.uiMode = "None";
axWindowsMediaPlayer1.settings.autoStart = true;
axWindowsMediaPlayer1.settings.setMode("loop", varfMode: true);
}
private void Subliminal_Load(object sender, EventArgs e)
{
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PopUp));
this.axWindowsMediaPlayer1 = new AxWMPLib.AxWindowsMediaPlayer();
((System.ComponentModel.ISupportInitialize)this.axWindowsMediaPlayer1).BeginInit();
base.SuspendLayout();
this.axWindowsMediaPlayer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.axWindowsMediaPlayer1.Enabled = true;
this.axWindowsMediaPlayer1.Location = new System.Drawing.Point(0, 0);
this.axWindowsMediaPlayer1.Name = "axWindowsMediaPlayer1";
this.axWindowsMediaPlayer1.OcxState = (System.Windows.Forms.AxHost.State)resources.GetObject("axWindowsMediaPlayer1.OcxState");
this.axWindowsMediaPlayer1.Size = new System.Drawing.Size(800, 450);
this.axWindowsMediaPlayer1.TabIndex = 0;
this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
this.label1.Font = new System.Drawing.Font("Showcard Gothic", 50f);
this.label1.Location = new System.Drawing.Point(0, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(800, 450);
this.label1.TabIndex = 0;
this.label1.Text = "label1";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
base.ClientSize = new System.Drawing.Size(800, 450);
base.Controls.Add(this.label1);
base.Controls.Add(this.axWindowsMediaPlayer1);
base.Name = "Subliminal";
base.ShowIcon = false;
base.ShowInTaskbar = false;
base.Opacity = 0.05;
this.Text = "Subliminal";
base.Load += new System.EventHandler(Subliminal_Load);
base.ResumeLayout(false);
}
}