第1篇 鼠标与键盘控制篇
第1章 鼠标操作控制 2
1.1 获取鼠标信息 3
实例001 获取鼠标双击时间间隔 3
实例002 获取光标闪烁的频率 4
实例003 获取鼠标键数 4
实例004 显示鼠标的等待光标 5
实例005 获得鼠标在窗体上的位置 6
实例006 记录鼠标行为 7
实例007 通过截取系统消息判断鼠标的单击键 8
1.2 鼠标基本设置 10
实例008 定义鼠标指针形状 10
实例009 自定义鼠标的图片 11
实例010 自定义动画鼠标 12
实例011 交换鼠标左右键功能 14
实例012 限制鼠标在某一区域工作 15
实例013 屏蔽鼠标按键 16
实例014 鼠标设置器 21
1.3 鼠标操作在实际中的应用 24
实例015 隐藏和显示鼠标 24
实例016 鼠标双击窗体时模拟键盘Tab键操作 25
实例017 使用鼠标拖放复制文本 26
实例018 利用鼠标绘图 27
实例019 模拟鼠标操作 28
实例020 实现鼠标穿透窗体 30
第2章 键盘操作控制 32
2.1 获取键盘信息 33
实例021 获取组合键 33
实例022 获取功能键 34
实例023 判断NumLock键和CapsLock键是否锁定 34
实例024 将回车键转换为Tab键 36
2.2 键盘热键的设置 37
实例025 屏蔽Alt+F4组合键关闭窗体 37
实例026 实现按下Esc键关闭窗体 38
实例027 屏蔽系统的Ctrl+C/X/V组合键 39
实例028 避免按回车键产生“嘀”声 40
实例029 设置/屏蔽系统热键 41
2.3 键盘操作在实际中的应用 48
实例030 打开和关闭输入法编辑器 48
实例031 使用键盘控制窗体的移动 49
实例032 虚拟键盘操作 51
实例033 多功能键盘 60
第2篇 Windows系统开发篇
第3章 获取系统相关信息 66
3.1 获取计算机系统信息 67
实例034 获取系统时间 67
实例035 获取系统目录 68
实例036 获取计算机名称 68
实例037 获取当前程序运行目录 69
实例038 获得操作系统版本号 70
实例039 获取系统启动后经过的时间 71
实例040 获取任务栏尺寸 72
实例041 改变系统提示信息 73
实例042 获取系统环境变量 74
3.2 获取计算机硬件信息 76
实例043 获取计算机内存信息 76
实例044 获取CPU相关信息 78
实例045 获取主板相关信息 79
实例046 获得硬盘序列号 80
实例047 获取所有逻辑分区 81
实例048 获取磁盘空间 82
实例049 获得磁盘的文件系统类型 83
实例050 判断驱动器类型并获取其属性 84
实例051 获取显示设备的名称及PNPDeviceID 86
实例052 获取声音设备的名称及PNPDeviceID 87
实例053 获取屏幕的分辨率 88
实例054 获取系统已经安装的打印机信息 89
3.3 获取系统网络信息 90
实例055 得到本地机器的IP地址 90
实例056 检测计算机是否存在网络连接 92
实例057 判断计算机的联机状态 92
3.4 获取特殊文件夹路径 94
实例058 获取系统特殊文件夹路径 94
实例059 得到本地运行的EXE的路径 96
实例060 获取映射驱动器路径 97
3.5 获取Windows当前用户信息 97
实例061 获取当前用户 97
实例062 判断当前用户是哪种用户 98
3.6 获取Windows日志信息 100
实例063 获取系统日志信息 100
实例064 获取安全日志信息 102
实例065 获取应用程序日志信息 103
实例066 创建并写入自定义日志信息 104
实例067 向系统日志写入自定义数据 105
实例068 向应用程序日志写入自定义信息 106
第4章 系统控制应用 107
4.1 启动相关 108
实例069 进入Windows前发出警告 108
实例070 将计算机设置为休眠状态 109
实例071 禁止用户关闭计算机 110
实例072 实现注销、关闭和重启计算机 111
实例073 定时关闭计算机 114
实例074 远程关闭与重启计算机 117
4.2 磁盘相关设置 120
实例075 取消磁盘共享 120
实例076 检测磁盘是否准备好 121
实例077 图表显示磁盘容量 122
实例078 修改磁盘格式 124
实例079 格式化磁盘 125
4.3 系统设置 126
实例080 禁止使用Windows任务管理器 126
实例081 为文件新增右键菜单项 127
实例082 修改计算机的默认打印机 128
实例083 通过注册表设置桌面背景 129
实例084 利用API设置桌面背景 130
实例085 音乐风景桌面 132
实例086 设置系统任务栏时间 135
实例087 设置屏幕分辨率 137
实例088 修改计算机名称 138
实例089 显示器控制 139
实例090 屏幕放大镜 141
4.4 系统隐藏 143
实例091 隐藏、显示任务栏 143
实例092 隐藏、显示开始按钮 145
实例093 使桌面图标文字透明 146
实例094 检索系统中正在运行的任务 147
实例095 隐藏、显示桌面图标 148
4.5 系统控制 150
实例096 切换输入法 150
实例097 全角半角转换 151
实例098 制作系统挂机锁 154
实例099 开机启动项管理 158
实例100 启动Windows系统服务 159
实例101 执行命令行命令 161
4.6 系统监控 162
实例102 检测系统启动模式 162
实例103 监视剪贴板的内容 163
实例104 内存使用状态监控 164
实例105 键盘钩子屏蔽热键 165
实例106 CPU使用率 167
第5章 程序控制应用 170
5.1 程序控制 171
实例107 打开控制面板中的程序 171
实例108 动态系统托盘图标 172
实例109 控制程序不出现在任务栏上 174
实例110 启动屏幕保护 175
实例111 使用回车键控制鼠标焦点 176
实例112 在TextBox控件中禁用鼠标右键 177
实例113 制作屏幕截图程序 178
实例114 复制程序本身 180
实例115 分段显示电话号码颜色 181
5.2 程序运行 182
实例116 使用互斥量禁止程序运行多次 182
实例117 使用进程名禁止程序运行多次 183
实例118 清空回收站 185
5.3 计算机控制 186
实例119 设置系统仅能运行的程序 186
实例120 获取本地计算机上所有的进程 187
实例121 获取远程计算机上所有的进程 189
实例122 调用外部的EXE文件 190
实例123 关闭外部已开启的程序 191
实例124 进程管理器 192
实例125 实现行业软件系统注销功能 195
实例126 创建应用程序快捷方式 195
实例127 使PC喇叭发音 197
第3篇 数据库及LINQ开发篇
第6章 SQL查询相关技术 200
6.1 SELECT子句 201
实例128 查询特定列数据 201
实例129 使用列别名 202
实例130 在列上加入计算 204
实例131 使用函数设置条件 205
6.2 查询常量 206
实例132 查询数字 206
实例133 查询字符串 207
实例134 查询日期数据 208
实例135 查询逻辑型数据 210
实例136 查询空(‘’或NULL)数据 211
6.3 查询变量 212
实例137 利用变量查询字符串数据 212
实例138 利用变量查询数值型数据 214
实例139 利用变量查询日期型数据 215
6.4 模糊查询 217
实例140 利用“_”通配符进行查询 217
实例141 利用“%”通配符进行查询 218
实例142 利用“[]”通配符进行查询 219
实例143 利用“[^]”通配符进行查询 221
实例144 复杂的模糊查询 222
6.5 TOP和PERCENT限制查询结果 224
实例145 查询前10名数据 224
实例146 取出数据统计结果的后10名数据 225
实例147 查询第10到第20名的数据 226
实例148 查询销售量占前50%的图书信息 228
实例149 查询库存数量占后20%的图书信息 229
6.6 数值查询 231
实例150 判断是否为数值 231
实例151 在查询时对数值进行取整 232
实例152 将查询到的数值四舍五入 233
实例153 使用三角函数计算数值 234
实例154 求数值的绝对值 235
实例155 根据生成的随机数查询记录 236
实例156 根据查询数值的符号显示具体文本 238
6.7 字符串查询 239
实例157 实现字符串的大小写转换 239
实例158 返回字符在字符串中出现的次数 240
实例159 返回字符串中的子串 241
实例160 删除字符串中的子串 243
实例161 查找并替换字符串 244
实例162 比较两个字符串 246
6.8 周期、日期查询 248
实例163 判断是否为日期 248
实例164 查询指定日期的数据 249
实例165 查询指定时间段的数据 250
实例166 按年、月或日查询数据 251
实例167 返回当前日期时间及其对应的星期 253
实例168 查询指定时间间隔的数据 254
6.9 比较、逻辑、重复查询 255
实例169 利用运算符查询指定条件的数据 255
实例170 NOT与谓词进行组合条件的查询 257
实例171 查询时不显示重复记录 258
实例172 列出数据中的重复记录和记录条数 259
6.10 在查询中使用OR和AND运算符 260
实例173 利用OR运算符进行查询 260
实例174 利用AND运算符进行查询 261
实例175 同时利用OR、AND运算符进行查询 262
6.11 排序、分组统计 263
实例176 数据分组统计(单列) 263
实例177 在分组查询中使用ALL关键字 265
实例178 在分组查询中使用CUBE运算符 266
实例179 在分组查询中使用ROLLUP 267
实例180 对数据进行降序查询 268
实例181 对数据进行多条件排序 269
实例182 对统计结果进行排序 270
实例183 按姓氏笔画排序 272
实例184 按姓氏拼音排序 273
实例185 按仓库分组统计图书库存(多列) 274
实例186 多表分组统计 275
实例187 使用COMPUTE 276
实例188 使用COMPUTE BY 278
6.12 聚合函数 279
实例189 利用聚合函数SUM对销售额进行汇总 279
实例190 利用聚合函数AVG求某班学生的平均年龄 280
实例191 利用聚合函数MIN求销售额、利润最少的商品 281
实例192 利用聚合函数MAX求月销售额完成最多的员工 283
实例193 利用聚合函数COUNT求日销售额大于某值的商品数 284
实例194 利用聚合函数FIRST或LAST求数据表中第一条或最后一条记录 286
实例195 利用聚合函数显示数据库中重复记录的数量 287
实例196 查询大于平均值的所有数据 288
实例197 获取无重复或者不为空的记录数 290
实例198 随机查询求和 291
实例199 统计某个值出现的次数 292
6.13 多表查询(连接查询) 293
实例200 利用FROM子句进行多表查询 293
实例201 使用表别名 295
实例202 合并多个结果集 296
实例203 笛卡儿乘积查询 297
6.14 嵌套查询 298
实例204 简单嵌套查询 298
实例205 复杂嵌套查询 299
实例206 嵌套查询在查询统计中的应用 301
6.15 子查询 302
实例207 用子查询做派生的表 302
实例208 用子查询作表达式 304
实例209 使用ALL谓词引入子查询 305
实例210 使用ANY/SOME谓词引入子查询 307
实例211 使用EXISTS运算符引入子查询 308
实例212 在HAVING子句中使用子查询过滤数据 310
实例213 在UPDATE语句中应用子查询 311
实例214 使用子查询删除数据 312
6.16 组合语句 314
实例215 使用组合查询 314
实例216 多表组合查询 316
实例217 对组合查询后的结果进行排序 317
实例218 获取组合查询中两个结果集的交集 319
实例219 获取组合查询中两个结果集的差集 320
6.17 内连接查询 321
实例220 简单内连接查询 321
实例221 复杂内连接查询 322
实例222 使用INNER JOIN实现自身连接 324
实例223 使用INNER JOIN实现等值连接 325
实例224 使用INNER JOIN实现不等连接 326
实例225 使用内连接选择一个表与另一个表中行相关的所有行 327
6.18 外连接查询 329
实例226 LEFT OUTER JOIN查询 329
实例227 RIGHT OUTER JOIN查询 330
实例228 使用外连接进行多表联合查询 331
6.19 利用IN进行查询 333
实例229 用IN查询表中的记录信息 333
实例230 使用IN引入子查询限定查询范围 334
实例231 使用NOT IN运算符引入子查询 335
6.20 交叉表查询 336
实例232 利用Transform分析数据(Access) 336
实例233 利用Transform动态分析数据(Access) 338
实例234 静态交叉表(SQL Server 2005) 340
实例235 动态交叉表(SQL Server 2005) 342
6.21 函数查询 343
实例236 在查询语句中使用格式化函数 343
实例237 在查询语句中使用字符串函数 344
实例238 在查询中使用日期函数 346
6.22 索引查询 347
实例239 使用UNIQUE关键字创建唯一索引 347
实例240 使用CLUSTERED关键字创建聚簇索引 348
实例241 使用索引视图查询数据 350
实例242 删除索引 352
6.23 应用存储过程 353
实例243 使用存储过程查询多表中的数据 353
实例244 使用存储过程向表中添加数据 355
实例245 使用存储过程删除表中的数据 358
6.24 HAVING语句应用 361
实例246 利用HAVING子句过滤分组数据 361
实例247 HAVING子句应用在多表查询中 362
第7章 SQL高级应用 364
7.1 SQL中的流程控制语句 365
实例248 使用BEGIN…END语句控制批处理 365
实例249 使用IF语句指定执行条件 366
实例250 使用IF EXISTS语句检测数据是否存在 367
实例251 使用WHILE语句执行循环语句块 368
实例252 使用CASE语句执行分支判断 369
实例253 使用RETURN语句执行返回 371
实例254 使用WAITOF语句延期执行语句 372
实例255 使用GOTO语句实现跳转 373
实例256 使用TRY CATCH语句进行异常处理 375
实例257 使用PRINT语句进行打印 376
实例258 使用RAISERROR语句返回错误信息 377
实例259 使用SET语句进行选项设置 378
7.2 视图的应用 379
实例260 在C#中应用视图 379
实例261 获取数据库中的全部用户视图 380
实例262 通过视图修改数据 380
实例263 通过视图过滤数据 382
实例264 使用视图格式化检索到的数据 383
实例265 对视图定义文本进行加密 384
实例266 使用视图生成计算列 385
7.3 存储过程的应用 387
实例267 C#中应用存储过程 387
实例268 应用存储过程添加数据 388
实例269 应用存储过程修改数据 390
实例270 应用存储过程删除数据 391
实例271 获取数据库中全部的存储过程 392
实例272 在存储过程中使用return定义返回值 394
实例273 执行带回传参数的存储过程 395
实例274 重命名存储过程 396
实例275 在存储过程中使用事务 397
实例276 加密存储过程 399
实例277 查看存储过程的相关信息 400
7.4 触发器的应用 401
实例278 获取数据库中的触发器 401
实例279 使用Insert触发器向薪水表中添加薪水信息 402
实例280 Update触发器在系统日志中的应用 404
实例281 使用Delete触发器删除员工薪水信息 405
实例282 触发器的嵌套使用 406
实例283 使用递归触发器实现每次删除一条记录功能 408
实例284 使用触发器删除相关联的两表间的数据 409
7.5 事务的使用 411
实例285 使用事务同时提交多个数据表 411
实例286 使用隐式事务实现多表提交数据 413
实例287 使用事务批量删除生产单信息 414
实例288 在事务中的表级锁定 417
实例289 实现事务的并发控制 420
实例290 创建分布式事务 422
7.6 游标的应用 423
实例291 创建一个标准、只读和更新游标 423
实例292 利用sp_cursor_list查看游标属性 425
实例293 利用sp_describe_cursor查看游标全局特性 426
实例294 利用游标在商品销售表中返回指定行数据 428
实例295 使用ORDER BY子句改变游标中行的顺序 429
实例296 使用游标定位删除指定员工信息 431
实例297 使用参数化游标更改员工部门信息 432
实例298 使用嵌套游标查询两个员工表间的员工信息 433
7.7 SQL Server与XML互操作 435
实例299 使用FOR XML RAW参数读取所有图书信息 435
实例300 将存储在XML中的图书信息插入数据表中 436
实例301 将图书销售表中的字段作为节点元素输出 437
实例302 查询存储图书信息的XML节点 439
实例303 获取XML节点或者元素值 440
实例304 编辑存储图书信息的XML节点 441
实例305 将XML节点转换为相应的数据表字段 444
第8章 ADO.NET开发技术 446
8.1 连接Access数据库 447
实例306 连接Access数据库 447
实例307 连接加密的Access数据库 448
实例308 自动识别Access 2000数据库路径 449
实例309 连接网络上共享的Access 2000数据库 450
实例310 将Access数据库导入Excel文件中 452
8.2 连接SQL Server数据库 453
实例311 使用ODBC DSN连接SQL Server数据库 453
实例312 使用ODBC非DSN连接SQL Server数据库 455
实例313 使用OLE DB连接SQL Server数据库 457
实例314 建立SQL Server数据库连接 458
8.3 连接其他数据库 459
实例315 连接Excel 459
实例316 连接文本文件 460
8.4 数据库结构的读取与修改 462
实例317 读取SQL Server数据库结构 462
实例318 修改SQL Server数据库结构 464
8.5 数据录入 466
实例319 利用数据绑定控件录入数据 466
实例320 使用ADO。NET对象录入数据 467
实例321 利用SQL语句录入数据 469
实例322 利用存储过程录入数据 470
实例323 向SQL Server数据库中批量写入海量数据 472
8.6 图片存取技术 473
实例324 使用存取文件名的方法存取图片 473
实例325 使用二进制存取用户头像 475
8.7 数据修改 476
实例326 利用数据绑定控件修改数据 476
实例327 利用数据对象修改数据 478
实例328 利用SQL语句修改数据 479
实例329 利用存储过程修改数据 480
实例330 使用断开式连接批量更新数据库中数据 482
8.8 数据保存前判断 483
实例331 判断是否重复输入数据 483
实例332 判断输入数据是否符合要求 485
8.9 数据删除 487
实例333 删除表格中指定的记录 487
实例334 利用SQL语句删除数据 488
实例335 利用SQL语句清空数据表 489
8.10 数据记录 490
实例336 分页显示信息 490
实例337 移动记录 491
实例338 综合查询职工详细信息 492
8.11 数据维护 495
实例339 在C#中创建数据库 495
实例340 在C#中删除数据库 497
实例341 在C#中创建数据表 498
实例342 在C#中删除数据表 499
实例343 在C#中分离SQL Server数据库 500
实例344 在C#中附加SQL Server数据库 502
实例345 在C#中附加单文件SQL Server数据库 503
8.12 数据备份恢复 504
实例346 备份SQL Server数据库 504
实例347 还原SQL Server数据库 506
8.13 其他数据库开发技术 509
实例348 判断计算机中是否安装了SQL软件 509
实例349 开启SQL Server数据库 510
实例350 断开SQL Server数据库与其他应用程序的连接 511
实例351 利用SQL语句执行外围命令 512
实例352 对软件进行初始化 513
实例353 带图像列表的系统登录程序 515
第9章 LINQ to Objects——查询内存中对象 517
9.1 LINQ基础应用 518
实例354 使用隐式类型局部变量实现字母的大小写转换 518
实例355 使用自动实现属性记录用户信息 519
实例356 使用对象初始化器创建对象并为其属性赋值 520
实例357 使用Lambda表达式查找指定字符串 521
实例358 使用扩展方法显示员工信息 522
实例359 在线程中使用匿名方法防止窗体“假死” 524
实例360 使用Predicate委托查找年龄大于30的员工 525
实例361 使用Action委托实现遍历所有员工信息 526
实例362 使用Func委托实现计算所有员工工资总和 527
9.2 限定符操作 528
实例363 检查序列中所有元素是否都满足指定条件 528
实例364 检查序列中是否包含指定元素 529
9.3 元素操作 531
实例365 获取指定位置的元素 531
实例366 使用LINQ生成随机序列 532
实例367 使用LINQ初始化数组 533
实例368 使用LINQ在一个循环中遍历多个数组 534
实例369 筛选指定类型的元素 535
实例370 使用LINQ实现销售单查询 536
实例371 获取某类商品最后一次销售单价 538
9.4 使用LINQ操作字符串 539
实例372 使用LINQ生成字符串 539
实例373 查找字符串中包含的大写字母 540
实例374 查找字符串中包含的数字字符 541
实例375 过滤文章中包含指定单词的句子 542
实例376 统计每个单词在文章中出现的次数 543
实例377 查找文章中以ing结尾的单词 544
实例378 将字符串数组按元素长度分组 547
9.5 类型转换操作 548
实例379 将数据源转换为IEnumerable<T>类型 548
实例380 将数据源转换为IQueryable<T>类型 549
实例381 转换为泛型列表 550
实例382 转换为字典类型 551
实例383 转换为一对多字典 552
实例384 使用LINQ转换序列或集合 554
9.6 使用LINQ操作集合 556
实例385 操作泛型列表List<T> 556
实例386 操作泛型排序列表SortedList<TKey,TValue> 557
实例387 操作泛型双向链表LinkedList<T> 558
实例388 操作泛型队列Queue<T> 559
实例389 操作泛型堆栈Stack<T> 561
实例390 操作泛型哈希集HashSet<T> 562
实例391 操作泛型字典Dictionary<TKey,TValue> 563
实例392 操作泛型通用集合Collection<T> 565
实例393 操作泛型绑定列表BindingList<T> 566
9.7 使用LINQ技术操作对象 567
实例394 使用LINQ技术对对象进行筛选操作 567
实例395 使用LINQ技术对对象进行投影操作 568
实例396 使用LINQ技术对对象进行排序操作 570
实例397 使用LINQ技术对对象进行聚合操作 572
实例398 使用LINQ技术对对象进行集合操作 574
实例399 使用LINQ技术对对象进行元素操作 576
实例400 使用LINQ技术对对象进行联接操作 577
实例401 使用LINQ技术获取文件详细信息 579
第10章 LINQ to SQL——查询关系数据库 581
10.1 数据查询 582
实例402 查询单表数据 582
实例403 获取与Not Exists等价的语句 585
实例404 按多个字段降序排序数据表 586
实例405 关联查询多表数据 587
实例406 按照多个条件分组 588
实例407 实现LINQ动态查询的方法 589
10.2 聚合操作 591
实例408 Count操作——统计每种商品的销售次数 591
实例409 Sum操作——统计每种商品的销售总额 592
实例410 Max操作——统计每种商品的最高销售价 593
实例411 Min操作——统计每种商品的最低销售价 594
实例412 Average操作——统计每种商品的销售均价 595
实例413 Aggregate操作——统计月销售额 596
10.3 集合操作 597
实例414 Distinct操作——去除重复的返货记录 597
实例415 差集操作——获取从未返过货的商品列表 598
实例416 交集操作——获取有过返货记录的商品列表 599
实例417 并集操作——查询每种商品的销售总数 600
10.4 DataContext类的方法 601
实例418 检测数据库是否存在 601
实例419 直接执行SQL查询 602
10.5 数据操作 603
实例420 生成LINQ to SQL对象模型 603
实例421 获取数据库连接信息 606
实例422 使用LINQ技术查询SQL数据库中的数据 608
实例423 使用LINQ技术向SQL数据库中添加数据 610
实例424 使用LINQ技术在SQL数据库中修改数据 611
实例425 使用LINQ技术在SQL数据库中删除数据 612
实例426 使用存储过程查询单表数据 613
实例427 使用SQL Server中的函数过滤数据 615
实例428 根据外键获取主表信息 616
实例429 使用LINQ为列表控件提供数据 617
实例430 使用LINQ技术防止SQL注入式攻击 618
实例431 使用LINQ技术实现数据分页 620
第11章 LINQ to DataSet——查询ADO.NET数据集 623
11.1 数据查询 624
实例432 使用LINQ技术查询DataSet中的单个表 624
实例433 使用LINQ技术对DataSet进行投影操作 625
实例434 使用LINQ技术查询DataSet中的多个表 626
实例435 使用LINQ技术对DataSet进行筛选操作 627
实例436 使用LINQ技术对DataSet进行排序操作 628
11.2 数据分区操作 629
实例437 从头开始提取指定数量的记录 629
实例438 从头开始提取满足指定条件的记录 631
实例439 跳过序列中指定数量的记录 632
实例440 跳过满足指定条件的记录 633
11.3 类型转换操作 634
实例441 将查询结果转换为DataTable 634
实例442 将查询结果转换为DataView 635
11.4 其他操作 636
实例443 聚合操作——按客户分组汇总销售金额 636
实例444 使用LINQ技术对DataSet进行元素操作 637
实例445 使用LINQ技术查询前5名数据 639
实例446 使用LINQ技术对数据进行排序 640
实例447 使用LINQ技术统计员工的工资总额 641
第12章 LINQ to XML——操作XML文件 643
12.1 XML文件基本操作 644
实例448 使用LINQ技术创建XML文件 644
实例449 使用LINQ技术对XML文件进行读取 645
12.2 查询操作 647
实例450 查找根元素 647
实例451 查找指定名称的元素 648
实例452 查找指定属性的元素 649
实例453 遍历指定节点下的所有对象 650
实例454 只返回指定节点下的注释 652
实例455 访问指定节点的父节点 653
实例456 返回节点集合中每个节点的所有上级节点 654
实例457 返回节点集合中每个节点的所有下级节点 656
实例458 返回元素集合中每个元素的所有属性 657
12.3 元素操作 659
实例459 使用LINQ技术向XML文件中添加数据 659
实例460 使用LINQ技术修改XML文件中的数据 660
实例461 替换指定节点下的所有元素 661
实例462 使用LINQ技术删除XML文件中的数据 662
实例463 合计XML元素值 664
12.4 属性操作 665
实例464 添加属性到XML文件 665
实例465 修改元素的属性值 666
实例466 删除一个元素的所有属性 667
实例467 将XML文件中的属性转换为元素 669
12.5 其他操作 670
实例468 添加注释到XML文件 670
实例469 添加声明到XML文件 671
实例470 添加文档类型到XML文件 672
实例471 使用LINQ to XML转换XML 673
实例472 读取XML文件并更新到数据库 676
第4篇 水晶报表与打印篇
第13章 Windows打印组件的使用 680
13.1 打印基础 681
实例473 打印窗体中的数据 681
实例474 图像打印 683
实例475 自定义横向或纵向打印 684
实例476 自定义打印页码范围 686
实例477 分页打印 688
13.2 常用报表的打印 690
实例478 打印条形码 690
实例479 打印学生个人简历 691
实例480 打印一个空学生证 693
实例481 打印商品入库单据 695
实例482 批量打印学生证书 697
第14章 水晶报表设计技术 701
14.1 水晶报表基本设置 702
实例483 快速创建水晶报表 702
实例484 设计带图片的水晶报表 704
实例485 使图片成为整个报表的背景 706
实例486 设置水晶报表中节的背景图片 707
实例487 设置水晶报表中节的背景色 709
实例488 在水晶报表中添加图表 710
实例489 设置水晶报表的页面 713
实例490 在水晶报表中添加节 714
实例491 在水晶报表中移动节的顺序 715
实例492 在水晶报表中合并节 716
实例493 在水晶报表中删除节 717
实例494 在水晶报表中显示与隐藏节 718
实例495 设置多列样式水晶报表 719
实例496 设置水晶报表中节的高度 721
实例497 设置水晶报表的摘要信息 722
实例498 设置水晶报表的打印日期与时间 723
14.2 水晶报表的格式化 724
实例499 在水晶报表中使用文本对象 724
实例500 使用公式字段 726
实例501 在水晶报表中使用线 728
实例502 在水晶报表中使用方框 729
14.3 对水晶报表进行排序与分组 730
实例503 排序水晶报表中的数据 730
实例504 对水晶报表中的数据进行分组 731
实例505 在水晶报表中筛选数据 732
实例506 设计分组统计报表 734
实例507 对分组报表中的页码进行设置 735
第15章 水晶报表开发应用 737
15.1 水晶报表常用应用 738
实例508 利用报表专家设计并显示学生基本信息 738
实例509 动态绑定水晶报表 742
实例510 在水晶报表中使用Access数据库 743
实例511 在水晶报表中使用SQL Server数据库 745
实例512 高数成绩大于90分使用红色字体标记 746
实例513 订货总金额超过10万元显示“恭喜获奖”文字 748
实例514 薪资大于或等于1万元使用蓝色字体标记 750
实例515 筛选薪资大于2000元的男员工 752
实例516 按类别分组统计图书库存 754
实例517 按成绩总分降序排序 755
实例518 部门销售量占公司总销售量的业绩百分比 757
实例519 在水晶报表中使用交叉表 758
15.2 子报表的使用 760
实例520 插入子报表 760
实例521 编辑与重新导入子报表 761
实例522 根据需要显示子报表 763
实例523 删除子报表 765
15.3 使用水晶报表设计常用报表 766
实例524 设计信封标签报表 766
实例525 设计商品入库报表 767
实例526 设计学生个人简历报表 768
实例527 设计汇款单式报表 769
第5篇 注册表操作篇
第16章 注册表基本操作 772
16.1 注册表基本操作 773
实例528 获取注册表信息 773
实例529 向注册表中写入信息 774
实例530 修改注册表信息 776
实例531 搜索注册表内容 777
实例532 删除注册表信息 778
实例533 备份注册表 780
实例534 还原注册表 781
实例535 禁止远程修改注册表 782
实例536 禁止运行注册表 783
16.2 注册表在实际中的应用 784
实例537 使用C#打开Windows注册表 784
实例538 建立数据文件与程序的关联 785
实例539 使应用程序开机自动运行 786
实例540 在注册表中保存窗体的大小和位置 788
实例541 优化开关机速度 789
实例542 优化菜单显示速度 790
实例543 优化网上邻居显示速度 791
实例544 获取本机安装的软件清单 792
第17章 系统个性化设置 793
17.1 开始菜单设置 794
实例545 启用和禁用“开始”菜单中的“运行”功能 794
实例546 屏蔽和开启“开始”菜单中的“关机”功能 795
实例547 在右键菜单中添加“用记事本打开”项 796
17.2 个性桌面 797
实例548 隐藏桌面快捷方式图标的小箭头 797
实例549 禁用和启用主题选项卡 798
实例550 禁用和启用外观选项卡 799
实例551 禁用和启用屏幕保护选项卡 800
实例552 设置任务栏时间样式 801
实例553 删除“我的电脑”上下文菜单中的“属性” 802
17.3 系统设置 803
实例554 将磁盘驱动器隐藏 803
实例555 禁止显示任务栏的右键菜单 804
实例556 禁止对任务栏位置进行改变 806
实例557 禁止使用Windows任务管理器 807
实例558 禁止使用控制面板的添加删除程序 808
实例559 禁止使用命令提示符 809
实例560 关机时自动关闭停止响应的程序 810
第18章 IE浏览器设置 811
18.1 IE浏览器基本设置 812
实例561 隐藏桌面上的IE浏览器图标 812
实例562 禁止修改IE浏览器主页 814
实例563 设置IE浏览器的默认主页 815
实例564 修改IE浏览器标题栏内容 816
实例565 设置IE地址栏的自动完成功能 817
18.2 IE浏览器高级应用 818
实例566 向收藏夹中添加网址 818
实例567 清除IE地址栏中的历史网址 819
实例568 设置IE浏览器的默认下载路径 821
实例569 清空IE浏览器的缓存区 822
实例570 使用WebBrowser控件制作IE浏览器 823
第6篇 软件安全控制篇
第19章 加密与解密技术 828
19.1 数据的加密与解密 829
实例571 异或算法对数字进行加密与解密 829
实例572 使用MD5算法加密数据 830
实例573 使用ROT13算法加密解密数据 831
实例574 使用恺撒密码算法加密密码 833
实例575 对数据报进行加密保障通信安全 834
实例576 使用one-time pad算法加密数据 839
实例577 使用伪随机数加密技术加密用户登录密码 840
实例578 以XML格式导入导出密钥 842
实例579 以参数格式导入导出密钥 844
19.2 文件的加密与解密 846
实例580 文本文件加密与解密 846
实例581 利用图片加密文件 849
实例582 对文件进行加密保护 851
实例583 使用口令加密可执行文件 856
实例584 使用对称算法加密解密文件 860
第20章 数据库安全技术 863
20.1 连接加密的数据库 864
实例585 连接加密的Access数据库 864
实例586 连接加密的Excel文件 865
实例587 访问带验证模式的SQL Server数据库 866
20.2 数据库安全在实际中的应用 868
实例588 编程修复Access数据库 868
实例589 Access数据库备份与恢复 869
实例590 加密数据库中的数据 871
实例591 加密DataSet数据集 873
实例592 防止SQL注入式攻击 875
第21章 软件安全控制 877
21.1 软件的注册 878
实例593 利用INI文件对软件进行注册 878
实例594 利用注册表设计软件注册程序 880
实例595 利用网卡序列号设计软件注册程序 882
实例596 根据CPU序列号和磁盘卷标制作软件注册机 884
21.2 软件的加密 886
实例597 制作一个EXE文件加密器 886
实例598 限制软件的使用次数 890
实例599 使用强名称标识软件 892
实例600 软件加壳常用工具及使用 893