分类:Win编程
共 358 篇
首先我们要明确一点: 理论上不存在无法破解的软件,但也并不是说破解软件比开发容易一万倍, 防破解的目的不是要做一个无法破解的软件,而是让破解软件的成本远大于购买软件的成本! 现在笔者简略表演几个有代表性的软件破解,当然,要看懂下面的内容,需要一点点C语言的编程基础。 我们先来一个最最简单的软件破解,假设我们写了一个软件,它的注册手段代码如下: 把他编译成exe,运行一下 要破解怎么办呢?超简单的,你把这个程序后缀改成txt然后打开,搜索注册码。然后翻一翻key就找到了: 别笑,就算是今天,仍然有一大堆软件采用这种软件保护机制,不过这类软件要不大多不怎么值钱比如xx管理系统,计算器之类的,要不就是软件作者别有用心防君子不防小人。你可能会问了,问题出在那了呢,这类保护机制的问题是,目前大部分的编译器都会将字符串常量直接存储在可执行文件结构中,所以你要是硬编码key,那么上面这种破解方法几乎是屡试不爽甚至不需要什么逆向破解知识就能搞定。…
👤 博主
📅 2020-04-18
📂 Win编程
👁 5142
👍 0
🔄 来源:DBinary
阅读全文 →
一、安装VS扩展dotConnect ADO.NET Data Provider for SQLite 说明:dotConnect for SQLite有免费和试用两个版本,必须安装试用版,否则数据源列表不会出现SQLite Database,安装过程出现错误"the specified content does not exist or is unreadable"不必理会,可以正常使用。 二、添加SQLite数据库ADO.NET实体数据模型 二、ADO.NET 实体数据模型使用示例
👤 博主
📅 2020-04-16
📂 Win编程
👁 6059
👍 0
🔄 来源:本站原创
阅读全文 →
有时引用的NuGet程序包有好几个依赖项,卸载的时候一个个卸载花时间不说,还要注意先后顺序很麻烦。 例如我们引用System.Data.SQLite,它的依赖项就有4个: EntityFramework System.Data.SQLite.Core System.Data.SQLite.EF6 System.Data.SQLite.Linq 有没有办法一键就能卸载NuGet程序包及其依赖项呢?有的,在程序包管理控制台使用Uninstall-Package命令及其参数RemoveDependencies就能实现: 常用命令:
👤 博主
📅 2020-04-16
📂 Win编程
👁 11461
👍 0
🔄 来源:本站原创
阅读全文 →
前几年写的一个WinForm应用程序,引用了COM组件Windows Media Player用于播放音频文件,今天用VS2019编辑生成后运行出错,提示: System.BadImageFormatException: 未能加载文件或程序集“AxInterop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。 运行ildasm工具,载入AxInterop.WMPLib.dll,双击MANIFEST查看程序集清单: 明白了,编辑后自动引用了新版本AxInterop.WMPLib.dll(操作系统Windows 10),它依赖于.NET Framework 4.0,而WinForm应用程序前几年创建的使用的框架为.NET Framework 2.0,将框架版本更改为.NET Framework 4.0,问题解决。…
👤 博主
📅 2020-03-31
📂 Win编程
👁 6682
👍 0
🔄 来源:本站原创
阅读全文 →
在WinForm中为了方便用户操作,我们常常会这样做,比如用户登录界面,当输入完用户名按回车光标自动移到密码输入框,输入密码按回车就能执行登录,这只需在TextBox控件的KeyDown事件中加入相关判断和操作即可,但是试过的朋友会知道,这样的话按完回车键会发出咚的一声,像我这样的重度强迫症患者表示接受不了: 怎么消除这个声音呢?也很简单,只需改用KeyPress事件,再加入一句e.Handled = true即可消除:
👤 博主
📅 2020-03-29
📂 Win编程
👁 3384
👍 0
🔄 来源:本站原创
阅读全文 →
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace ConsoleApp1
{
class Program
{
private const int SW_HIDE = 0;
private const int SW_NORMAL = 1;
private const int SW_MAXIMIZE = 3;
private const int SW_SHOWNOACTIVATE = 4;…
👤 博主
📅 2020-03-28
📂 Win编程
👁 3213
👍 0
🔄 来源:本站原创
阅读全文 →
我们都知道,C#中使用throw和throw ex抛出异常,但二者是有区别的。C#推荐使用throw来抛出异常,throw ex会将到现在为止的所有信息清空,认为你catch到的异常已经被处理了,只不过处理过程中又抛出新的异常,从而找不到真正的错误源。 C#抛出异常主要有以下几种: 第一种(不推荐使用,可惜很多人都一直这么用的,包括俺,嘻嘻),这样适用会吃掉原始异常点,重置堆栈中的异常起始点: 第二种,可追溯到原始异常点,不过编译器会警告,定义的ex未有使用: 第三种,不带异常参数的,这个同第二种其实一样,可捕获所有类型的异常,IDE不会告警: 其实第二种和第三种用法,书上也是不建议使用的,一般要从小粒度的异常捕获开始,采用多个catch语句,大家就见仁见智吧。。。…
👤 博主
📅 2020-03-23
📂 Win编程
👁 3984
👍 0
🔄 来源:Jerrytian
阅读全文 →
1、Socket.Connect检测远程计算机指定端口是否打开 2、TcpClient.Connect检测远程计算机指定端口是否打开
👤 博主
📅 2020-03-22
📂 Win编程
👁 3579
👍 0
🔄 来源:本站原创
阅读全文 →
C#生成远程桌面rdp文件示例: mstsc调用rdp文件打开远程桌面示例:
👤 博主
📅 2020-03-22
📂 Win编程
👁 65376
👍 0
🔄 来源:本站原创
阅读全文 →
using System;
using System.Text.RegularExpressions;
namespace mzwu_com
{
static class Extensions
{
/// <summary>
/// 取两个字符串中间的字符串
/// </summary>
/// <remarks>"aabbcc".…
👤 博主
📅 2020-02-24
📂 Win编程
👁 2356
👍 0
🔄 来源:本站原创
阅读全文 →