Windows XP下Service的编程入门[2]

利用Windows XP Service Pack 2 Checked Build打造Partial Checked Build System 一、什么是Checked build    Windows Checked Build通俗地说就是Debug版的Windows,与之相对的是Retail build,一般我们在市面上买到的Windows都是Retail build。两者的code base相同,只不过Checked build是在DBG编译开关打开的情况下编译出来的。和Retail build相比,Checked build关闭了 阅读详情

Windows XP下Service的编程入门[2]

// _dse.cpp : Defines the entry point for the console application.
// 作者: 秋镇菜
// E-mail: cyin8@msn.com

// 本程序很简单

#include "stdafx.h"
#include "windows.h"

int main(int argc, char* argv[])
{
    SC_HANDLE hSCManager = NULL;
    int nRet = 0;

    //
    // 打开服务控制管理器
    //
    hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
    if(hSCManager == NULL)
    {
        printf("OpenSCManager() failed. --err: %d/n", GetLastError());
        return -1;
    }

    //
    // 调用EnumServices列举系统中的服务
    //
    DWORD dwServicesReturned = 0;
    DWORD cbBytesNeeded = 0;
    DWORD cbBufSize = 0;

    //
    // 首次调用EnumServicesStatus确定缓冲区的大小,由cbBytesNeeded返回
    //
    nRet = EnumServicesStatus(
        hSCManager,
        SERVICE_DRIVER,
        SERVICE_STATE_ALL,
        NULL,
        0,
        &cbBytesNeeded,
        &dwServicesReturned,
        0);
/* ==============================================================================================
BOOL EnumServicesStatus(
 SC_HANDLE hSCManager,
 DWORD dwServiceType,
 DWORD dwServiceState,
 LPENUM_SERVICE_STATUS lpServices,
 DWORD cbBufSize,
 LPDWORD pcbBytesNeeded,
 LPDWORD lpServicesReturned,
 LPDWORD lpResumeHandle);

 EnumServicesStatus函数用于枚举NT下存在的Service。
 其中参数hSCManager是指向service control manager database的句柄,由OpenSCManager函数返回,且必须有SC_MANAGER_ENUMERATE_SERVICE的权限。
 参数dwServiceType指定按服务的类型枚举。
 参数dwServiceState指定按服务的状态枚举。
 参数lpServices指向ENUM_SERVICE_STATUS结构,用于存放返回的服务的名字和状态信息。
 参数cbBufSize返回参数lpServices的长度,以字节为单位。
 参数pcbBytesNeeded返回获取剩余的Service所需字节的个数。
 参数lpServicesReturned返回服务的个数。
 参数lpResumeHandle,当第一次调用时该参数为0,当该函数再次被调用以获取另外的信息时,该参数表示下一个被读的Service。
 函数返回值:函数执行成功则返回True,失败则返回False。
 值得注意的是通常情况下该函数返回的结果为FALSE,我们可以调用GetLastError()来获取进一步信息。因为一台机器上有多种服务存在,所以GetLastError()应为ERROR_MORE_DATA,此时应再次调用EnumServicesStatus函数以获取正确的Service列表。
============================================================================================== */
    ENUM_SERVICE_STATUS *lpServices = new ENUM_SERVICE_STATUS[cbBytesNeeded];

    cbBufSize = cbBytesNeeded;

    nRet = EnumServicesStatus(
        hSCManager,
        SERVICE_DRIVER,
        SERVICE_STATE_ALL,
        lpServices,
        cbBufSize,
        &cbBytesNeeded,
        &dwServicesReturned,
        0);
    if(nRet == 0)
    {
        printf("EnumServicesStatus() failed.");
        return NULL;
    }

    if(lpServices == 0)
    {
        CloseServiceHandle(hSCManager);
        return -1;
    }
 for(DWORD i = 0; i < dwServicesReturned; i++, lpServices++)
 {
            printf("%s/r/n->[%s]/n", lpServices->lpServiceName,
                lpServices->lpDisplayName);
 }
        printf("/r/nTotal %d Service(s)./n/n", dwServicesReturned);

 CloseServiceHandle(hSCManager);
        return 0;
}
// 请参考:
// Windows XP下Service的编程入门[1]->http://blog.youkuaiyun.com/i_like_cpp/archive/2005/06/03/387296.aspx

Windows XP Service Pack 2、Windows XP Tablet PC Edition 2005 以及 Windows Server 2003 中数据执行保护 (DEP) 功能的详细说明 原文地址:http://support.microsoft.com/kb/875352/zh-cn 概要loadTOCNode(1, summary);数据执行保护 (DEP) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。在 Microsoft Windows XP Service Pack 2 (SP2) 和 Microsoft Wind 阅读详情

相关推荐

2、Windows XP使用指南与Service Pack 2安装攻略

本文全面介绍了Windows XP系统的特性与适用人群,重点讲解了Service Pack 2的获取、安装步骤及安装前后的准备与优化措施。涵盖系统安全配置、常见问题解决方法等内容,帮助用户提升系统的稳定性与安全性,适合希望深入掌握Windows XP的家用及企业用户参考使用。

bean的博客 78

Windows XP下Service的编程入门[1]

Windows XP下Service的编程入门[1]// _dse.cpp : Defines the entry point for the console application.// 作者: 秋镇菜// E-mail: cyin8@msn.com#include "stdafx.h"#include "windows.h"int main(int argc, char* argv[]){ L

小发猫 1730

Air780E模组AT指令实战:5分钟搞定MQTT连接EMQX服务器(附完整代码)

本文详细介绍了如何使用Air780E 4G模组通过AT指令快速连接MQTT服务器。从硬件接线、网络注册到MQTT连接配置,提供了完整的实战步骤和代码示例,帮助开发者快速实现物联网设备的数据上报与远程通信。

wdx012345的博客 741

操作系统winxp程序语言写的?

操作系统winxp程序语言写的?

编辑学编程 615

Appstore 3.2(f)违规自救指南:从触发到申诉的完整应对策略

本文详细解析了Appstore 3.2(f)违规的应对策略,从触发原因到申诉流程,帮助开发者有效自救。文章涵盖隐瞒行为、账户关联和信息造假三大违规场景的判定逻辑,并提供申诉信写作的黄金法则和长期合规防御措施,确保开发者能够顺利通过苹果审核。

weixin_29304985的博客 657

前端监控性能指标

文章目录前端监控性能指标性能指标阶段性指标关键性能指标小程序W3C Level 1兼容性常规用法注意事项1、计算HTML文档请求使用 Nav Timing2、计算静态资源使用 getEntriesByType('resource') 代替 getEntries()3、secureConnectionStart 问题4、跨域资源设置响应头 Timing-Allow-Origin5、注意属性值为 0 ...

foolbird 1347

Windows下Service服务程序开发

Windows服务程序就是运行在任务管理器中‘服务’选项卡下的程序,可以通过服务控制程序(SCM)进行启动、停止、暂停等操作; SCM程序的打开方式为:单击“开始搜索”框,键入 services.msc,然后按 Enter。截图如下: SCM(service control manager),它是一个系统服务(就是我们上面的截图),我们开发的程序的一生都是通过它控制的,如启动、停止等。 ...

1万+

LSF0108 level shift设计使用及debug流程

目录 初版设计 测试出现的问题1 解决问题(尝试1) 测试出现的问题2 解决问题2-1 解决问题2-2 单Port测试结果 所有Port均连接测试结果 初版设计 此电路的应用场景在于将LCD屏幕连接到FPGA上,进而通过FPGA中设计的硬件电路来驱动LCD屏幕,验证数字硬件电路设计的正确性。因此需要一个转接板位于FPGA和LCD屏幕之间,将二者连接起来。 转接板的硬件电路设计主要存在以下需求: 实现3.3V和1.8V之间的同时双向逻辑转换(LCD屏幕电平为3.3V,FPGA电平为1.

moshanghongfeng的博客 7560

CC++初学者编程教程(6) 配置WindowsXP虚拟机与VC6.0

1.我们安装需要下列文件。2.新建一个虚拟机。3. 选择默认的 Vmware Work Station10.04. 我们选择这个WindowsXP镜像。5. 我们复制一个WindowsXPSP3的密钥,以及用户名密码。6. 我们设置好虚拟机的名称,以及文件位置。7. 我们设置处理器为双核。8. 我们设置内存大小为2G。9. 我们选择使用网络地址转换。10. 我们选择默认的IO控制器。11....

weixin_30629977的博客 564

1.3、云计算HCIP融合存储产品及部署

目标:描述Oceanstor V3系列存储产品系统组成及产品定位 描述Oceanstor V3硬件结构及软件架构 掌握存储系统与主机系统之间的连接 一、存储型号 低端型存储:Oceanstor 2200 2600 2800 V3/V5 终端型存储:Oceanstor 5300 5500 5600 5800 6800 V3/V5 高端型存储:Oceanstor 18000 二、Oceanstor V3系列存储系统定位 OceanStor V3系列存储系统是华为根据存储产品应用现状和存储

weixin_43666279的博客 1653

ERA5获取的风场数据转换为.dfs2文件

ERA5获取风场数据的具体步骤可以参考下面的文章下载好后应该是.nc格式的文件,想要读取或者转换成其他格式的文件可以安装下面步骤,本文介绍如何转换为.dfs2文件。

我的博客 1459

omniORB-4.1.3在windows xp环境下的配置与编程

1.从http://sourceforge.net/project/showfiles.php?group_id=51138&package_id=44914&release_id=629708下载相匹配的win32版本.我用的是Visual Studio 2005,所以下载omniORB-4.1.3-x86_win32-vs8.zip。 2.解压缩omniORB-4.1.3-x86_win

prochsh的专栏 1735

基于AI的智能开发环境—Trae在Web开发中的应用实战与性能评估【Trae项目实战】

Trae 是一款与 AI 深度集成的开发工具,提供智能问答、代码自动补全和基于 Agent 的 AI 自动编程能力,极大提升开发效率。它具备完备的 IDE 功能,如代码编写、项目管理和源代码管理等,同时还具备强大的 AI 助手,能够提供智能问答、实时代码建议、代码片段生成等服务。开发者可以通过自然语言与 AI 协作,从 0 到 1 开发项目,AI 会根据需求自动生成代码或创建文件。

一键难忘的博客 3万+

《Windows XP Embedded with Service Pack 2 开发包光盘 3CD》(Windows XP Embedded Studio with Service Pack 2 3CD)Service Pack 2[Bin]

片  名  《Windows XP Embedded with Service Pack 2 开发包光盘 3CD》(Windows XP Embedded Studio with Service Pack 2 3CD)Service Pack 2[Bin] 简  介  发行时间: 2004年制作发行: Micosoft 类  别  软件 小  类  编程开发 详细介绍中文名: Windows XP Embedded with Service Pack 2 开发包光盘 3CD英文名: Windows XP E

laoyang1018开发笔记 2029

当SLAM遇上FPGA:打造一个会“硬件加速”的激光雷达SLAM系统

点云数据的运动畸变校正特征点提取与匹配、以及ICP迭代最近点配准。在传统方案中,我们通常用ARM核完成所有计算。但点云配准中的最近邻搜索(KD-Tree)需要大量分支判断,CPU处理起来效率很低;而ICP中的矩阵分解(SVD)虽然计算量大,但非常适合并行化。ZYNQ的特殊之处在于它把ARM(PS端)和FPGA(PL端)集成在同一颗芯片上。ARM擅长跑操作系统、处理复杂逻辑和调度,FPGA擅长做高吞吐量的并行计算。两者之间通过AXI总线高速互联,数据交换延迟只有几十个时钟周期。

QQ_778132974的博客 374

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Windows-XP Service Pack 2为我们带来了什么

Windows XP Service Pack 2补丁包已经正式发布,先锋里有不少朋友可能对WINDOWS XP的最新系统补丁Service Pack 2(以下简称SP2)有些不熟悉,我就说说自己的安装过程和使用经历。从XP SP2开始研发,MS就出了无数个内测版本,网上放出的都是MS内测版本。从最初的一个内测中文版开始,到后来出的RC1 RC2 RTM2179 RTM2180,我一路升级全部安装

依然行走 1984

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

WINDOWS XP sp2 Platfrom SDK下载地址

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm XPSP2 PSDK Full Download with Local Install

小发猫 9884

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Windows XP Service Pack 2中弹出窗口拦截器的研究

1 引言1.1 研究背景微软公司于2004年8月份正式发布了耗资庞大的Windows XP Service Pack 2(英文版),这不是一次简单的补丁打包升级,而是融入了众多新技术的Windows系统更新。微软声称SP2解决了以往的众多系统漏洞并且大大加强了Windows的安全性。对于Web开发者来说,值得关注的是SP2在IE中加入了Pop-up(弹出窗口拦截)功能,这将影响到世界上绝大部分使用

Visit Shenzhen, Shenzhen China, Shenzhen Travel Guide 7168

Windows XP Service Packv2.0中文简体版

Windows XP Service Pack是基于Windows XP一款软件服务包,是Microsoft有史以来发布的最为重要的服务包之一,也是微软操作系统Windows XP最新系统维护补丁。

jiangmy927的博客 716

无法在 Windows XP Service Pack 2 中启动 Windows 防火墙服务

 无法在 Windows XP Service Pack 2 中启动 Windows 防火墙服务察看本文应用于的产品文章编号:892199最后修改:2007年2月8日修订:10.2重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中

windking21的专栏 2393

Windows XP Service Pack 2 简体中文版

<!--google_ad_client = "pub-8218974082131540";google_ad_width = 160;google_ad_height = 600;google_ad_format = "160x600_as";google_ad_type = "text";google_ad_c

秋风乍起 1705

Windows XP Service Pack 2 (win xp sp2) 下载地址

http://download.microsoft.com/download/f/6/4/f648c363-6975-470c-8202-ac5aea706109/WindowsXP-KB835935-SP2-CHS.exe 

greenerycn的专栏 2722

[转]解决 Windows XP Service Pack 2 中 Windows 防火墙的设置问题

察看本文应用于的产品function loadTOCNode(){} 文章编号 : 875357 最后修改 : 2006年8月29日

freeliver54的专栏 916

微软MSDN原版系统—Windows XP

*******************************************************************************************************Update Rollup 2 for Windows XP Media Center Edition 2005 (Simplified Chinese)包括: Media Center文件

jatqdfei的专栏 6176

Microsoft Windows XP Service Pack 2 中的功能变更

第 2 部分:网络保护技术更新日期: 2005年03月02日发布者 Starr Andersen(技术作者),Vincent Abella(技术编辑)本文档是“Windows XP Service Pack 2 中的功能变更”的第 2 部分,提供了 Microsoft® Windows XP Service Pack 2 中网络保护技术的详细信息。 本 文档适用于 Microsof

生产与管理信息化 4271
上一篇: INI文件编程
下一篇: WMI 的一个实现
普通网友
博客等级 码龄22年 1万+粉丝 3156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值