/// <summary> /// 检查脚本 /// </summary> public void CheckScript() { String newScript = ""; CFileA.Read(m_fileName, ref newScript); if (m_script != newScript) { Console.WriteLine("检测到脚本被修改..."); m_script = newScript; lock (m_indicators) { while (true) { try { CIndicator indicator = m_indicators.Pop(); indicator.Dispose(); } catch { break; } } } } }
/// <summary> /// 获取或设置是否需要创建表 /// </summary> public void CreateTable() { String dataDir = DataCenter.GetUserPath() + "\\data"; if (!CFileA.IsDirectoryExist(dataDir)) { CFileA.CreateDirectory(dataDir); } String dataBasePath = dataDir + "\\" + DATABASENAME; m_connectStr = "Data Source = " + dataBasePath; if (!CFileA.IsFileExist(dataBasePath)) { //创建数据库文件 SQLiteConnection.CreateFile(dataBasePath); //创建表 SQLiteConnection conn = new SQLiteConnection(m_connectStr); conn.Open(); SQLiteCommand cmd = conn.CreateCommand(); cmd.CommandText = CREATETABLESQL; cmd.ExecuteNonQuery(); conn.Close(); CreateDefaultProxyInfos(); } }
private void btnLogin_Click(object sender, EventArgs e) { String file = DataCenter.GetAppPath() + "\\logininfo.txt"; if (m_emailInfo == null) { m_emailInfo = new EmailInfo(); } m_emailInfo.m_server = txtEmailServer.Text; m_emailInfo.m_userName = txtUserName.Text; m_emailInfo.m_pwd = txtPwd.Text; CFileA.Write(file, JsonConvert.SerializeObject(m_emailInfo)); Close(); }
public LoginForm() { InitializeComponent(); String file = DataCenter.GetAppPath() + "\\logininfo.txt"; if (CFileA.IsFileExist(file)) { String content = ""; CFileA.Read(file, ref content); m_emailInfo = JsonConvert.DeserializeObject <EmailInfo>(content); txtEmailServer.Text = m_emailInfo.m_server; txtUserName.Text = m_emailInfo.m_userName; txtPwd.Text = m_emailInfo.m_pwd; } }
/// <summary> /// 创建用户状态服务 /// </summary> public UserCookieService() { String dataDir = DataCenter.GetUserPath() + "\\data"; if (!CFileA.IsDirectoryExist(dataDir)) { CFileA.CreateDirectory(dataDir); } String dataBasePath = DataCenter.GetUserPath() + "\\data\\usercookies.db"; m_connectStr = "Data Source = " + dataBasePath; if (!CFileA.IsFileExist(dataBasePath)) { CreateTable(); } }
/// <summary> /// 启动监听 /// </summary> public void Start() { m_useScript = CFileA.IsFileExist(m_fileName); if (m_useScript) { m_native = NativeHandler.CreateNative(); CFileA.Read(m_fileName, ref m_script); m_indicator = CFunctionEx.CreateIndicator(m_script, m_native); Console.WriteLine(m_script); } try { //string host = "127.0.0.1"; //IPAddress ip = IPAddress.Parse(host); if (m_indicator != null) { m_indicator.CallFunction("ONHTTPSERVERSTARTING('" + m_fileName + "');"); } IPEndPoint ipe = new IPEndPoint(IPAddress.Any, m_port); m_listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); m_listener.Bind(ipe); m_listener.Listen(0); } catch (Exception ex) { if (m_indicator != null) { m_indicator.CallFunction("ONHTTPSERVERSTARTFAIL('" + ex.Message + "\r\n" + ex.StackTrace + "');"); } return; } int minThreadNum = 0, portThreadNum = 0, maxThreadNum = 0; ThreadPool.GetMaxThreads(out maxThreadNum, out portThreadNum); ThreadPool.GetMinThreads(out minThreadNum, out portThreadNum); if (m_indicator != null) { m_indicator.CallFunction("ONHTTPSERVERSTART(" + CStr.ConvertIntToStr(maxThreadNum) + "," + CStr.ConvertIntToStr(minThreadNum) + ");"); } while (DataCenter.IsAppAlive) { Socket socket = m_listener.Accept(); ThreadPool.QueueUserWorkItem(new WaitCallback(ReadData), socket); } m_listener.Close(); }
/// <summary> /// 获取用户目录 /// </summary> /// <returns>用户目录</returns> public static String GetUserPath() { String userPath = Environment.GetEnvironmentVariable("LOCALAPPDATA"); if (!CFileA.IsDirectoryExist(userPath)) { userPath = GetAppPath(); } else { userPath += "\\piratecat2"; if (!CFileA.IsDirectoryExist(userPath)) { CFileA.CreateDirectory(userPath); } } return(userPath); }
/// <summary> /// 获取或设置是否需要创建表 /// </summary> public void CreateTable() { String dataBasePath = DataCenter.GetUserPath() + "\\data\\" + DATABASENAME; if (!CFileA.IsFileExist(dataBasePath)) { //创建数据库文件 SQLiteConnection.CreateFile(dataBasePath); } //创建表 SQLiteConnection conn = new SQLiteConnection(m_connectStr); conn.Open(); SQLiteCommand cmd = conn.CreateCommand(); cmd.CommandText = CREATETABLESQL; cmd.ExecuteNonQuery(); conn.Close(); }
/// <summary> /// 加载图标 /// </summary> private void LoadIcons() { String dir = DataCenter.GetAppPath() + "\\config\\icons\\"; m_gridIcons.ResourcePath = dir; List <String> files = new List <String>(); CFileA.GetFiles(dir, files); int filesSize = files.Count; int columnsSize = m_gridIcons.GetColumns().Count; m_gridIcons.BeginUpdate(); GridRow row = null; for (int i = 0; i < filesSize; i++) { int col = i; if (i >= columnsSize) { col = i % columnsSize; } if (col == 0) { row = new GridRow(); row.Height = 64; m_gridIcons.AddRow(row); } String file = files[i]; file = file.Substring(file.LastIndexOf('\\') + 1); GridIconCell iconCell = new GridIconCell(); iconCell.SetString(file); row.AddCell(col, iconCell); } m_gridIcons.EndUpdate(); m_gridIcons.Invalidate(); }