c# 制作赛尔号登录器
2022-04-05 16:18 jym蒟蒻 阅读(631) 评论(0) 编辑 收藏 举报使用c#制作赛尔号登录器
打开赛尔号官网,发现我的chrome浏览器无法运行Flash。这是因为Adobe 公司放弃了对 Flash Player 的支持。
那么如果我想要玩游戏,又不想下载别的浏览器,只好自己写一个登陆器了。
首先创建新项目
然后建几个窗体
建好大致就是下面这样。
然后设计窗体,mainMenu窗体如下。这里面用的是TabControl。
这里面要修改每一个tabPage的Name和Tag
然后添加事件SelectedIndexChanged。
双击窗体,就能生成一个构造函数。
FormMainMenu整体的源代码如下,起到一个选项卡切换窗体的功能,用来多开小号。
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.Reflection;
using System.Windows.Forms;
namespace SeerLauncher
{
public partial class FormMainMenu : Form
{
public FormMainMenu()
{
InitializeComponent();
}
public int[] s = { 0, 0 , 0 , 0 , 0 , 0};//用来记录窗体是否打开过
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (s[tabControl1.SelectedIndex] == 0)
{
btnX_Click(sender, e);
}
}
private void FormMainMenu_Load(object sender, EventArgs e)
{
string formClass = "SeerLauncher.Form1";
GenerateForm(formClass, tabControl1);
}
public void GenerateForm(string form, object sender)
{
//反射生成窗体
Form fm = (Form)Assembly.GetExecutingAssembly().CreateInstance(form);
//设置窗体没有边框,加入到选项卡中
fm.FormBorderStyle = FormBorderStyle.None;
fm.TopLevel = false;
fm.Parent = ((TabControl)sender).SelectedTab;
fm.ControlBox = false;
fm.Dock = DockStyle.Fill;
fm.Show();
s[((TabControl)sender).SelectedIndex] = 1;
}
private void btnX_Click(object sender, EventArgs e)
{
string formClass = ((TabControl)sender).SelectedTab.Tag.ToString();
GenerateForm(formClass, sender);
}
private void tabPage1_Click(object sender, EventArgs e)
{
}
private void tabPage3_Click(object sender, EventArgs e)
{
}
}
}
其中用了个menuStrip控件。
还有webBrowser控件。按照下面这样修改属性。
如果电脑上安装了高版本的IE浏览器,Webbrowser控件会使用IE7兼容模式显示网页内容。
解决方法是在注册表中为进程指定引用IE的版本号。
Form1源代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SeerLauncher
{
public partial class Form1 : Form
{
[DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")]
public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
public Form1()
{
InitializeComponent();
timer1.Enabled = true;
timer1.Interval = 1000;
timer1.Start();
}
private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e)
{
webBrowser1.Refresh();
}
private void 清理缓存ToolStripMenuItem_Click(object sender, EventArgs e)
{
Clear();
}
private void Clear()
{
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
}
private void timer1_Tick(object sender, EventArgs e)
{
long Memory = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
long Temp = Memory / 1024 / 1024;
label1.Text = Temp + " " + "M";
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked){
timer2.Enabled = true;
timer2.Interval = 8000;
timer2.Start();
}
else
{
timer2.Enabled = false;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
long Memory = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
long Temp = Memory / 1024 / 1024;
if(Temp > 500)
{
Clear();
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}
}
}
同理修改Form2到Form6。
顺利登录赛尔号,而且具有多开小号、缓存清理等功能。