Beispiel #1
0
        static CLog()
        {
            Assembly Assem = CAssembly.GetEntryOrExecuting();

            if (Assem == null)
            {
                throw new Exception("Assem is null");
            }

            string AppFolder = CAssembly.GetFolder(Assem);
            string AppName   = Assem.GetName().Name;

            _LogFolder = Path.Combine(AppFolder, "Log\\" + AppName);
        }
Beispiel #2
0
        /// <summary>
        /// 주의: 현재 시점에서는 참조하는 파일이 없을 수 있으므로 이곳에서는 참조하는 외부 파일을 이용하면 안됨.
        /// </summary>
        /// <param name="htRefs"></param>
        public static void SaveResourcesToFiles(Hashtable htRefs)
        {
            string          ResName = "AutoUpdate." + Application.ProductName;
            ResourceManager rm      = new ResourceManager(ResName, CAssembly.GetEntryOrExecuting());

            foreach (DictionaryEntry d in htRefs)
            {
                string Name     = (string)d.Key;
                string PathFile = (string)d.Value;

                string NewPathFile = Path.GetDirectoryName(Application.ExecutablePath)
                                     + "\\" + CPath.GetFileName(PathFile);

                if (System.IO.File.Exists(NewPathFile))
                {
                    continue;
                }

                byte[]     byt = (byte[])rm.GetObject(Name);
                FileStream fs  = new FileStream(NewPathFile, FileMode.Create, FileAccess.Write, FileShare.Write);
                fs.Write(byt, 0, byt.Length);
                fs.Close();

                //DoctorGu.dll이 없을 수도 있으므로
                //CFile.WaitForFileCreation(NewPathFile)을 사용하지 않음.
                for (int i = 0; i < 10; i++)
                {
                    if (System.IO.File.Exists(NewPathFile))
                    {
                        break;
                    }

                    System.Threading.Thread.Sleep(1000);
                }
            }
        }
Beispiel #3
0
 public static Icon GetAssociatedIcon()
 {
     return(GetAssociatedIcon(CAssembly.GetEntryOrExecuting()));
 }