首页
学习
活动
专区
圈层
工具
发布

【C#】带等待窗体的BackgroundWorker

---------------20150416原文(已更新)--------------- 适用环境:.net 2.0+的Winform项目 这是上一篇【分享带等待窗体的任务执行器一枚】的姊妹篇,建议先看看那篇文章了解一下相关背景...这里简单介绍一下,两个方案的共同目的都是在执行耗时任务时向用户显示一个模式窗体(我称等待窗体),通过该窗体,任务可以向用户报告执行进度,用户也可以通过它干预任务的执行(也就是取消~如果任务允许被终止的话...接口 在DoWork事件中可以访问一组bgwUI提供的属性和方法更新等待窗体上的文本和进度,以及可以控制等待窗体上的【取消】按钮是否可见。...System.ComponentModel; using System.Windows.Forms; namespace AhDung.WinForm { /// /// 带等待窗体的...就算是现在这样,调用者不小心传入一个已经Close/Dispose的等待窗体也没办法,这个问题WaitUI方案也同样存在,也许后面我会改为仅允许传入等待窗体的Type,完了在方案中全权负责等待窗体的从生到死

2.2K30

窗体UserForm——代码插入不定数量带事件的控件

在窗体最上面这样写语句的话,就相当于手动插入了一个名称是ob的选项按钮,这样在代码编辑器下拉框里,就能选择ob,然后选择对应的事件。...但是在UserForm_Initialize事件里添加控件,如果使用窗体的全局变量ob的话,ob只能指向最后一个控件,因为它仅仅是一个变量,不会同时指向多个控件。...而窗体的全局变量声明带WithEvents的时候又不能声明为数组控件,所以在窗体里没法插入不定数量,却又带有事件的控件。...在窗体中编辑代码: Option Explicit '声明COB数组,记录COB对象 Private cobs() As COB Private Sub UserForm_Initialize()...(i - 1).OptionButton = ob Next '设置窗体的高度,防止工作表太多看不到 Me.Height = itop + 20 End Sub 这样就能够实现直接点击选项按钮

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    构建一个带身份验证的 Deno 应用

    这就是 Deno[1](发音为 DEH-no),一个用 TypeScript 编写的 “类似 Node 的” Web 应用的框架。在本文中,我将引导你创建一个带有身份验证的基本 Web 应用。...❝要点 创建你的 Deno 应用 用 Deno 构建真实的 Web 应用 为你的 Deno 应用添加功能 用 Okta 添加身份验证 运行 Deno 程序 ❞ 你几乎可以在 Deno 网站上找到所需的所有信息...当然这不是一个漂亮的个人资料页面,但是它能够使你知道身份验证步骤是否全部有效。 用 Okta 添加身份验证 如果你还没有Okta帐户,可以在此处获得免费的开发人员帐户[4]。...然后返回到信息中心,从菜单下方的右侧复制你的 Okta org URL。 现在你可以开始用 Okta 进行身份验证了。不幸的是你必须手动创建它。...然后实现 ensureAuthenticated() 中间件,该中间件将启动身份验证过程的第一步。它首先检用户是否登录。如果已登录,则它只调用 next(),因为无事可做。

    2.1K30

    【C#】分享带等待窗体的任务执行器一枚

    替代原来的设置DialogResult的做法 WaitForm的FormClosing事件由注册该事件改为重写OnFormClosing方法,对阻止窗体关闭的条件增加了Visible,即当窗体处于可见时...先解释一下我所谓的【带等待窗体的任务执行器】是个什么鬼,就是可以用该类执行任意耗时方法(下文将把被执行的方法称为任务或任务方法),执行期间会显示一个模式等待窗体,让用户知道任务正在得到执行,程序并没有卡死...功能: 等待窗体可以使用执行器自带的默认窗体(就上图的样子),嫌丑你也可以使用自己精心设计的窗体,甚至基于Devexpress、C1等第三方漂亮窗体打造也是完全可以的 在任务中可以更新等待窗体上的Label...由于任务和等待窗体分别在不同的线程跑,所以等待窗体不会被卡住 任务执行期间可以通过执行器提供的一组属性和方法操作等待窗体上的控件,这组属性和方法内部是通过调用等待窗体的Invoke或BeginInovke...所以如果传入的是自定义等待窗体的变量,请注意不要在WaitRun之后再次使用该变量,因为它已经被销毁,推荐的做法是直接在RunXXX中new一个自定义等待窗体。

    2K30

    从Linux到Windows的PowerShell远程处理

    前提条件 1)后期利用期间可以通过目标NTLM身份验证 2)重启WinRM服务 3)使用此NTLM支持PowerShell Docker镜像到Linux的PS-Remote,您可以从Linux到Windows...不幸的是,由于PowerShell Core的Linux分支支持的身份验证机制,从我的Kali Linux远程连接到我的目标并不是一件容易的事。...现在唯一的问题是,用于Linux的PowerShell核心(撰写本文时为PowerShell 6.1.0)并未支持NTLM身份验证。...幸运的是,Redditors找到了在Centos上使用PowerShell进行NTLM身份验证的方法,因此我将他们的发现整合到一个简单的PowerShell Docker镜像quickbreach /...这是在Enter-PSSession设置阶段使用NTLM身份验证所必需的,这是唯一可用于通过PowerShell远程连接从Linux连接到Windows的身份验证机制。

    2.8K20

    NSSM使用说明

    同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。...它的特点如下: 支持普通exe程序(控制台程序或者带界面的Windows程序都可以) 安装简单,修改方便 可以重定向输出(并且支持Rotation) 可以自动守护封装了的服务...开发的时候是一个普通程序,降低了开发难度,调试起来非常方便 安装简单,并且可以随时修改服务属性,更新也更加方便 可以利用控制台输出直接实现一个简单的日志系统 不用考虑再加一个服务实现服务守护功能...的文件夹,如D:\Net_业务软件\Net_NSSM\nssm-2.24\win64,然后按住Shift+鼠标右键点击文件夹空白处,选择“在此处打开Powershell窗口”...\nssm install调出设置窗体 在弹出的窗体中,Application选项卡中, Path:选择kafka-server-start.bat

    3.2K40

    SharePoint 高危零日漏洞 (CVE‑2025‑53770) 遭利用,实现无需认证的远程代码执行

    ‑53770 是微软SharePoint中的一个关键漏洞,CVSS评分9.8,无需身份验证即可实现远程代码执行,目前已在野外被主动利用。...这不是一个独立问题,而是CVE‑2025‑49706 的一个变种。但是,CVE-2025-49706需要身份验证,而53770则不需要。...,这是CVE‑2025‑49706的一个变种,涉及对特制的身份验证令牌处理不当——结合恶意的__VIEWSTATE有效载荷——导致直接在IIS工作进程中执行代码。...IIS中以NT AUTHORITY\SYSTEM权限执行Web Shell被上传,建立远程访问启动C2通信,开始横向移动️ 缓解与修补✅ 立即打补丁微软已于2025年7月20-21日发布了带外安全更新:...CVE‑2025‑53770是近期记忆中最为危险的SharePoint漏洞之一。它建立在一个已经很糟糕的欺骗漏洞之上,并消除了唯一的屏障——身份验证。

    16910

    机器有公网时用外网ip远程快,无公网时用内网ip远程慢,why

    如果不做以上组策略配置,则机器有公网时弹黄色身份验证窗口较快(1秒),因为能通过公网校验根证书;如果机器没公网,则弹黄色身份验证窗口较慢(数十秒)符合预期,可以通过上述组策略办法规避根证书验证以此达到较快弹窗的目的...还有个case,买带公网IP的全部正常,买不带公网IP的十有八九初始化卡在黑屏等若干分钟后正常,黑屏时发送Ctrl Alt Del点任务管理器没反应,点注销或切换用户,能看到锁屏界面,在锁屏界面输入密码仍然黑屏多尝试几次...(注销→ 锁屏界面输密码登录)就能看到卡在这个界面,跟系统更新机制有关带公网IP的全部正常,因为初始化的时候操作系统会连公网更新,能连上公网,更新成功,就不会卡在这里,没公网,就会重试等待直到超时才会结束这个过程...Windows\UpdateOrchestrator\","\Microsoft\Windows\WaaSMedic\" 2>$null | Disable-ScheduledTask 2>$null2、执行powershell...delay 0000:03 /fschtasks /change /tn "\w32tm_resync" /st 00:00 /sd 2000/01/01基于原自定义镜像做了简单改造新做了镜像测试多台机器(带公网

    22610

    Python GUI项目实战(一)登录窗体的设计与实现

    () showinfo(message="用户名:"+user+"密码:"+password) # 暂时用弹窗测试一下内容获取是否正常 四、实现基本的身份验证 关于登录验证,要求如下: 如果用户名不对...,提示:用户名不存在 如果密码不对,提示:密码错误 如果密码连续输错三次,提示:账号已锁定,请联系管理员 如果用户名和密码正确,加载主窗体实现基本身份验证的框架: # 实现身份验证,遍历用户信息列表 for...)中,用户密码验证成功后,调用跳转主窗体的方法即可;至此,我们登录窗体就已经搭建完成了!...最后 本节我们先整体介绍了一下该项目的主要功能,然后就开始了项目的第一步:登录窗体的实现,实现了用户名和密码的校验功能,完成了登录窗体我们点击登录按钮希望能加载主窗体界面,这该如何实现呢?...下一节,我们将介绍主窗体的界面的搭建和功能的实现。 ·END·

    14.6K186

    超越边界:利用C#实现跨服务器的进程管理

    winrm set winrm/config/client '@{TrustedHosts="远程服务器IP"}' 确认远程服务器的身份验证设置 在远程服务器上,确保WinRM配置允许你选择的身份验证类型...如果你是通过HTTP连接,那么常用的身份验证方法包括Basic和Negotiate。...可以在远程服务器上运行以下命令来检查WinRM的身份验证配置: winrm get winrm/config/service/Auth 确保你使用的身份验证方法(如Basic)被设置为true。...如果不是,你需要在远程服务器上开启该身份验证方法: winrm set winrm/config/service/Auth @{Basic="true"} 注意:使用Basic身份验证时,Basic身份验证会明文传送密码...ps = PowerShell.Create()) { ps.Runspace = runspace; ps.AddScript(

    33210

    Windows服务器核心(Server-Core)安装与基础配置使用

    、管理和转换身份验证密钥 ssh-agent.exe: 存储用于公钥身份验证的私钥 ssh-add.exe: 将私钥添加到服务器允许的列表中 ssh-keyscan.exe: 帮助从许多主机收集公用 SSH...Tips : 密钥对指的是由特定的身份验证协议使用的公钥和私钥文件, SSH 公钥身份验证使用不对称加密算法来生成两个密钥文件一个为“私钥”文件,一个为“公钥”文件。...Step 1.主机密钥生成:其具有特定的 ACL 要求,在 Windows 上这些要求等同于仅允许管理员和 System 进行访问,若要使用 SSH 服务器轻松进行密钥身份验证,请在权限提升的 PowerShell...Step 2.用户密钥生成: 若要使用基于密钥的身份验证,首先需要为客户端生成一些公钥/私钥对。通过 PowerShell 或 cmd使用 ssh-keygen 生成一些密钥文件。...Tips : 这些步骤完成了对 Windows 上的 SSH 使用基于密钥的身份验证所需的配置,完成此项后用户可以从具有私钥的任何客户端连接到 sshd 主机。

    12.2K10

    AD域攻防权威指南:三十七.使用AzureHound对Microsoft Entra ID进行分析(一)

    ,如果当前已获取到权限的租户开启配置了MFA多因素验证或者其他无密码身份验证访问策略,我们则无法使用已获取的用户名密码与AzureHound进行身份验证,在这种情况下,我们可在Powershell命令行中执行如下命令调用...应用程序中进行了身份验证,并允许了设备代码流的登录请求。...图1-6成功登录MicrosoftAzurePowerShell应用程序4)返回刚才执行PowerShell脚本的窗口,将如下脚本内容复制到PowerShell...该脚本主要的作用是在没有浏览器的情况下,使用设备代码授权流程进行AzureAD身份验证,并通过"设备代码授权"的方式获取访问令牌。...在该脚本中,我们首先创建了一个包含身份验证请求参数且名称为$body的变量对象。

    7910

    人人都值得学一点PowerShell实现自动化(1)在VisualStudio上使用PowerShell

    关于PowerShell的基础知识哪里学 笔者前面介绍Azure的自动化运维时,已经引出了本系列的主角PowerShell,因为在Azure上,使用PowerShell较比使用其他语言再开发,要来得更简单快捷...在微软原本已提供的PowerShell控制台和PowerShell ISE对于交互式的敲打代码已经非常友好,但最近认真找了一轮IDE后,发现最佳的IDE还是在Visual Studio上最好。...当然使用PowerShell ISE和Visual Studio一起使用,可能更佳,特别是PowerShell ISE可以使用拿命令帮助窗体,直接类似以Excel函数向导一样,给我们提供界面式输入参数,...在Visual Studio上使用,需要安装一个扩展,是PowerShell的MVP写的,非常棒。 安装好之后,就可以创建PowerShell项目了。...因为PowerShell同样是面向对象的语言,在dotNET语言体系中,C#和VB.NET等可以实现的,PowerShell也可以轻松实现。所以其调试过程中,也一样可以看到很丰富的托管对象属性。

    2.3K10

    .NET Core - 解决VS2019中.net core WinForms暂时无法使用Designer的临时方法

    下一步骤,勾选.NET core下的"Use preview SDK"会解决这个问题。 当然也可使用命令行/Powershell来创建。...打开命令行/Powershell 使用cd命令,切换到自己平时存vs项目的路径(比如我切换到D:\Coding) 输入命令dotnet new winform --name "CoreFormDemo"...此时,选中 .net core form项目,右键选择 “Set as start up project”,按F5运行项目,可看到窗体: ? 然后点窗体右上角的x关闭按钮,停止运行....此时,回到文件目录D:\Coding\csProj\CoreHelloForm\CoreHelloForm\bin\Debug\netcoreapp3.0,双击其中的exe文件,窗体能正常打开。 ?...比如,我做了如下几处修改: 改掉 Form的 Title ? 改掉文本框的内容. ? 改掉窗体的图标(icon) ? 按F5,运行的效果图为: ?

    2.8K30

    【内网安全】横向移动&Kerberos攻击&SPN扫描&WinRM&WinRS&RDP

    默认情况下支持Kerberos和NTLM身份验证以及基本身份验证。 移动条件:双方都启用的Winrm rs的服务!...攻击机开启: winrm quickconfig -q winrm set winrm/config/Client @{TrustedHosts="*"} 1.探针可用: cs 内置端口扫描5985 powershell...: •SPN服务发现 •请求服务票据(工具判断与powershell脚本判断) •服务票据的导出(mimikatz导出) •服务票据的暴力破解(使用密码字典进行RC4协议破解) https:/...nidem/kerberoast https://www.freebuf.com/articles/system/174967.html 如需利用需要配置策略加密方式(对比) 黑客可以使用有效的域用户的身份验证票证...1.扫描与环境主机开启的服务: powershell setspn -T GOd.org -q */* powershell setspn -T God.org -q */* | findstr "MSSQL

    46710
    领券