小编Api*_*iet的帖子

C#应用程序许可证组件和控件

如果我有5台目标计算机,我将把我的应用程序安装到其中一台目标计算机上.我如何阻止用户将我的应用程序复制到其他目标计算机?

为了说清楚,我不希望他们在安装后复制我的应用程序(他们不应该从已安装的应用程序文件夹中复制我的应用程序).问题是我现在使用Visual Studio 2010安装和部署设置和部署我的应用程序,但是任何人都可以在安装后复制我的应用程序文件夹,例如,我的应用程序文件夹(exe,DLL和资源)位于"Program Files/MyApplication" .他们实际上可以从该文件夹复制我的应用程序并将其粘贴到其他计算机然后使用它.当然,他们可以复制它,但我认为他们不应该能够使用我复制的应用程序吗?有没有办法保护他们复制我的申请?我要写一个额外的代码?

我是软件分发的新手.请指导我必须做的事情.谢谢

c# licensing software-distribution copy-protection

5
推荐指数
1
解决办法
2573
查看次数

在RunWorkerCompleted触发后,BackgroundWorker OnProgressChanged仍然触发

我的应用程序用于BackgroundWorker将文件上传到FTP服务器.一切正常,但似乎OnProgressChanged事件不应该像它应该的那样工作.

事件发生OnProgressChanged后我会完全完成RunWorkerCompleted,但事实并非如此.

在我的情况下,OnProgressChanged虽然RunWorkerComplete被触发,事件仍在触发.显然,我的进度条仍在继续,而我的文件已经完全发送到ftp服务器.

我在我的调试模式下进行了测试,我看到在RunWorkerCompletedFired 之后,OnPorgressChanged仍在工作.

我的代码在这里.

 void FTP_DoWork(object sender, DoWorkEventArgs e)
    {
        BackgroundWorker bw = sender as BackgroundWorker;
        try
        {
            string filename = e.Argument.ToString();
            if (filename != string.Empty)
            { 
                FileInfo fileInf = new FileInfo(filename);
                FtpWebRequest reqFTP;
                if (!IsFolderExist(_defaultDir))
                {
                    MakeDefaultDir(_defaultDir);
                }

                reqFTP = GetRequest(this._host, this._port, GetDirName(_defaultDir) + "/" + fileInf.Name, this._user, this._pass);
                reqFTP.KeepAlive = false;
                reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
                reqFTP.UseBinary = true;
                reqFTP.ContentLength = fileInf.Length; …
Run Code Online (Sandbox Code Playgroud)

c# backgroundworker progress-bar

2
推荐指数
1
解决办法
1084
查看次数