c#中的sendkeys发送按键消息-编程思维

SendKeys.Send()     向活动应用程序发送击键 SendKeys.SendWait()       向活动应用程序发送给定的键,然后等待消息被处理   这两个方法可以发送组合键,需要注意的是字母按键应为小写。如全选Ctrl+A,要用SendKeys.SendWait("^a")才有效。 按键对应的代码如下:   键 代码 Backspace

vmprotect完美脱壳过程-编程思维

VMProtect完美脱壳过程 1.查看程序 这是我自己写的一个VB的小程序,长得有点丑,别介意。然后自己加了一个壳,是VMProtect v.1.6x - 2.03的壳。 接下来我们国际惯例,用PEID,EXEinfo PE查一下壳 可以看到是加了VMP的壳的,VMP壳的介绍我会放在帖子的最后哦。 2.拉到OD去啦~ push 0xE131EEA3 这其实就是被VM过的

代码混淆加密保护我们的c#程序-编程思维

前面,我多次提到一些C# DLL的反编译工具,在我们没有对我们的程序有任何保护措施的情况下,别人利用这些工具很轻松的就能生成与原始源代码类似的高级代码,所以,我们需要混淆加密来让程序更加的安全,让别人不能那么轻易的获取到我们的劳动果实。 从其他网站截取过来的图片,图中并没有完全包含所有工具   从上图我们可以看到,目前已经有很多工具可以用来保护我们的代码,还可以看出,大部分收费的比不收费的功能更

ios开发-项目的完整重命名方法,图文教程。-编程思维

前言:在IOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦。直接改项目名吧,XCODE又不会帮你改所有的名字。总是有很多文件、文件夹或者是项目设置的项。而且都是不能随便改的,有时候改着改着,编译不了。所以各位重命名项目时,记得先备份好一份噢。本文我会介绍一种方法,是我自己参考了很多资料得出的总结。   为什么说是完整呢?因为改名之后,你不会再看到任何有关于之前的项目名字。   本文会把一个

ios开发-正则表达式的使用方法-编程思维

前言:在表单验证中,我们经常会使用到正则,因为我们需要用它来判断用户输入的字符是否为合法的,如果是不合法的,那么应该提示用户输入错误,并不让提交至服务器。我们也可以通过正则表达式,从用户输入的字符串中过滤并获取我们想要的特定部分。总而言之,正则表达式是非常强大的。     方法一、谓词(NSPredicate)创建正则表达式 使用它来判断用户输入的字符串是否为合法的: // 编写正则表达式:只

mac-zsh安装与使用——终极shell-编程思维

前言:Zsh可配置性强,用户可以自定义配置,个性化强。Zsh tab补全更强大,该功能可以让我们节约很多时间。Zsh 还有代码高亮功能,使得代码更好看了,显得逼格更高。Zsh 还有很多强大的功能,这里就不一一细说了。   然后我来为大家说个笑话: Zsh全称为Z Shell,因为Z是最后一个字母,因此大家称之为——终极Shell。 这是我在知乎上看到的某一位评论,他说得很有道理,我竟无言以对

ios捕获异常,常用的异常处理方法-编程思维

前言:在开发APP时,我们通常都会需要捕获异常,防止应用程序突然的崩溃,防止给予用户不友好的一面。其实OBJECT-C的异常处理方法和JAVA的雷同,懂JAVA的朋友一看就懂。我为什么要写这篇博文呢?因为我发现百度上的介绍方法,很多都不是我想要的,而我想要的又说得不清楚,重点是大家都是直接复制别人的代码。。。于是不多说,大家往下看~~~   以下程序已测试并通过: 设备:IOS8模拟器中 开发工

webstorm在mac上的快捷键(部分)-编程思维

整理一下在Mac上使用WS这款IDE的快捷键 shift + Enter 软回车 ,无论在前一行代码的什么位置,都能定位到下一行. command 显示/隐藏 左侧面板 command + b / 点击 定位方法 command + option + l 代码格式化 fn+option+f7

关于node.js的安装与删除-编程思维

安装node.js 先切换到root用户安装 openssl-devel   su -    yum install openssl-devel   下载源代码自己编译以下代码中的tar.gz包根据node.js官网上的版本来定,比如我现在最新是 0.10.29    cd /usr/local/src   wget http://nodejs.org/dist/v0.10.29

xcode使用的一些小技巧,值得一看。-编程思维

有时我们需要对一个已有项目进行重构,改进设计,提高代码质量。以下几个Xcode 4中的功能,会使重构的工作变得轻松很多。1.打开项目我的项目是Xcode3.x中编辑的,在用Xcode 4 打开时出现了几个项目设置问题的警告,这种情况很好办,只需要选中Validate Project Settings,然后点击Perform Changes即可。2.Snapshot在重构之前,有必要对项目进行备份

mac终端操作svn指令-编程思维

1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录)   例如:svn checkout svn://192.168.1.1/pro/domain    简写:svn co 2、往版本库中添加新的文件   svn add file   例如:svn add test.php(添加test.php)   svn add *.php(添加当前目录下所有

mac终端基本指令,一些实用命令的收集.-编程思维

基本命令1、列出文件ls 参数 目录名        例: 看看驱动目录下有什么:ls /System/Library/Extensions参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件 2、转换目录      cd    例:想到驱动目录下溜达一圈   cd /System/Library/Extensions 3、建立新目录mkdir 目录名     例:在驱动目录下建一个备份目

正则表达式基本语法-编程思维

两个特殊的符号'^'和'$'。他们的作用是分别指出一个字符串的开始和结束。例子如下: "^The":表示所有以"The"开始的字符串("There","The cat"等);"of despair$":表示所以以"of despair"结尾的字符串;"^abc$":表示开始和结尾都是"abc"的字符串——呵呵,只有"abc"自己了;"notice":表示任何包含"notice"的字符串。 象最后

curl 命令 -- get 和 post -编程思维

目录 简介 GET 发送 GET 请求,并将结果打印出来 发送 GET 请求,并将 response 的 body 输出到文件里 POST 发送空的 POST 请求 发送有参数的 POST 请求 发送可重定向的有参 POST 请求 发送带 JSON 数据的 POST 请求 发送带 XML 数据的 POST 请求 发送带纯文本数据的 POST 请求 发送带某个文件中的数据的 POST

handlebars-编程思维

优秀博客:http://www.cnblogs.com/iyangyuan/archive/2013/12/12/3471227.html 官网:http://handlebarsjs.com/     注意点: 支持嵌套循环: this指当前上下文 循环中的索引使用:@index (从0开始的) {{addOne @index}} //注册一个Handlebars Helper

【磐河旅行】之酒店api接口对接实录-编程思维

1、项目需求概述: 通过对接第三方磐河旅行的酒店API接口实现在我们的APP 、微信小程序、H5上可提供用户酒店查询、酒店预订、退订等功能。效果如下图:     2、酒店接口功能拆分 除了酒店静态数据字典(如酒店城市数据、酒店品牌数据等)接口主要分数据查询类和订单操作类共有7个接口方法。 酒店数据查询类接口有:酒店搜索接口、酒店详情接口、酒店房型及产品查询接口 酒店订单操作类接口有:下单接口

visual studio code 快捷键大全(windows)-编程思维

Visual Studio Code 是一款优秀的编辑器,非常适合编写 TS 以及 React 。最近在学习 Angular,开始使用 VSCode,特意整理翻译了一下官网的快捷键。因为已经习惯了 Sublime 的快捷键,更换到 VSCode 有些不适应,尤其是 Emmet 的使用。 通用 Ctrl+Shift+P, F1 打开命令面板 Ctrl+P 快速打开文件 Ct

如何写一份优秀的前端简历-编程思维

前言 如今前端市场一片混乱,典型的金字塔形状,前端从业人员很多,但高级开发及以上却非常稀缺。前端招聘也是所有猎头及 HR 的痛点所在,在这种混乱的环境中,如何让自己突出重围?需要实力,也需要技巧。因为我平时会负责筛选简历,在看过大量简历之后,对于简历的内容及形式有一些自己的看法。本文主要讲述技术简历应该包含哪些内容以及注意事项,不会涉及面试相关技巧,毕竟通过简历筛选是第一步。在文章的最后,我做了

使用 canvas 画图时图像文字模糊的解决办法-编程思维

最近在使用 canvas 画图的时候,遇到了图像文字模糊的问题,解决思路就是根据分辨率创建不同尺寸的画布。以下是创建高分辨率画布的代码: /** * 创建高分辨率画布 * @param w 画布宽 * @param h 画布高 * @param ratio 屏幕分辨率 */ function createHiDPICanvas(w, h, ratio?) { co