青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

zhiye_wang

向星空仰望的越深,越發現自己的渺小

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  31 隨筆 :: 1 文章 :: 2 評論 :: 0 Trackbacks

#

在構造自己的類時,有可能會碰到兩個類之間的相互引用問題,例如:定義了類A類B,A中使用了B定義的類型,B中也使用了A定義的類型
例如:
類CGUICmd中調用了類CMainFrame。
類CMainFrame中調用了類CGUICmd。
//////////////////////////////////////////////////////////////////////////
/// GUICmd.h
 
#ifndef _GUI_CMD_H
#define _GUI_CMD_H
 
class CGUICmd
{
public:
CGUICmd(void);
~CGUICmd(void);
int Gui_GetMessage(HWND hWnd, SOCKET sService, int bBlocking, CMainFrame* pFrame);
 
public:
SOCKET sService;
};
//////////////////////////////////////////////////////////////////////////
/// main_frame.h
 
#ifndef _MAIN_FRAME_H
#define _MAIN_FRAME_H
 
class CMainFrame:public CXMLWnd
{
public:
CGUICmd m_cGuiCmd;
};
不能單純的再對方的源文件中互相包含頭文件。
較好的方式:
main_frame.h 中#include "GUICmd.h", 
CGUICmd.h 中加入一行:class CMainFrame;
CGUICmd.cpp 中#include "main_frame.h"
//////////////////////////////////////////////////////////////////////////
/// main_frame.h
 
#ifndef _MAIN_FRAME_H
#define _MAIN_FRAME_H
 
#pragma once
 
#include "GUICmd.h"    
//////////////////////////////////////////////////////////////////////////
/// GUICmd.cpp
 
#include "GUICmd.h"
#include "main_frame.h"
 
 
//////////////////////////////////////////////////////////////////////////
/// GUICmd.h
 
#ifndef _GUI_CMD_H
#define _GUI_CMD_H
 
class CMainFrame;
 
class CGUICmd
{
}
posted @ 2014-12-24 15:32 zhiye_wang 閱讀(466) | 評論 (0)編輯 收藏

二 創建策略并設置給指定用戶
1 打開“組策略管理”(在這里創建策略)
cmd下輸入GPMC.MSC 打開組策略管理
隨后在域上右鍵選擇“在這個域中創建GPO并在此處鏈接”,輸入名字“磁盤管理策略”,
右鍵”編輯“,設置"隱藏磁盤分區(1)"中添加的策略“僅僅禁用F盤“。
右鍵“磁盤管理策略”,勾選強制,勾選已啟用鏈接。
2 關聯此GPO
默認情況下,GPO 影響鏈接的站點、域或 OU 中包含的所有用戶和計算機。
不過,您可以在 GPO 上使用安全篩選以修改其效果:通過修改 GPO 權限僅將其應用于特定用戶、Active Directory 安全組成員或計算機。通過將安全篩選和 OU 中的相應位置相結合,您可以將任何一組給定的用戶或計算機作為目標。
要將 GPO 應用于給定用戶、安全組或計算機,該用戶、組或計算機必須具有 GPO 的“讀取”和“應用組策略”權限。默認情況下,“經過身份驗證的用戶”將“讀取”和“應用組策略”權限設置為“允許”。這兩個權限是作為一個單位使用 GPMC 中的安全篩選進行管理的。
若要設置給定 GPO 的權限,以便僅將 GPO 應用于特定用戶、安全組或計算機(而不是應用于所有經過身份驗證的用戶),請在 GPMC 控制臺樹中包含該 GPO 的林和域中展開“組策略對象”。單擊該 GPO,然后在細節窗格的“作用域”選項卡上的“安全篩選”下面,刪除“經過身份驗證的用戶”,單擊“添加”,然后添加新的用戶、組或計算機。
在”磁盤管理策略“的右側窗口中,“安全篩選”下,添加需要生效的域用戶。
3 刷新GPO
默認的GPO設置不會自動刷新,只會在以下情況
系統啟動時
用戶登錄時
間隔最長90分鐘就刷新一次,原則上是隨機的小于90分鐘的時間啟動一次。
手動刷新GPO設置:GPUPDATE.EXE
4 登錄查看
用域用戶zhiye.wang登錄,查看,F盤已經看不到。
用域用戶ming.xiao登錄,查看,F盤依舊可以看到。
posted @ 2014-12-23 18:00 zhiye_wang 閱讀(601) | 評論 (0)編輯 收藏

調用API函數NetShareAdd()將文件夾設置為共享,調用此函數后如果不做其他設置,網絡用戶是無法訪問共享文件夾的,因為此文件夾在NTFS分區中,同時受到NTFS文件系統的訪問控制,因此還需要第2步;
調用DOS命令cacls,賦予Guest用戶組讀寫權限;
如果要取消文件共享,直接調用API函數NetShareDel()

對于FAT32分區中文件夾,cacls命令是不起作用的,這個命令專用于NTFS格式下的文件和文件夾。也就是說上面這種解決方法的第步不能用了,那么現在只能使用NetShareAdd()函數添加文件共享。調用此函數后如果不做其他設置,網絡用戶可以訪問共享文件夾,但擁有完全控制權限(這是默認的共享權限設置),而在實際項目中我們希望能夠編程控制讀寫權限。在NTFS分區中,我們還有NTFS文件系統的訪問控制功能罩著,在FAT32分區中就只能依賴于操作系統文件夾共享自身的權限設置功能了。
 1NET_API_STATUS NetShareAdd(
 2_In_   LPWSTR servername,
 3_In_   DWORD level,
 4_In_   LPBYTE buf,
 5_Out_  LPDWORD parm_err
 6);
 7typedef struct _SHARE_INFO_2 {
 8LPWSTR shi2_netname;
 9DWORD  shi2_type;
10LPWSTR shi2_remark;
11DWORD  shi2_permissions;
12DWORD  shi2_max_uses;
13DWORD  shi2_current_uses;
14LPWSTR shi2_path;
15LPWSTR shi2_passwd;
16}
 SHARE_INFO_2, *PSHARE_INFO_2, *LPSHARE_INFO_2;

addShare.cpp

 1// 說明:
 2// FAT 系統調用此函數,shi502_permissions參數無效。有且僅有共享權限為最高權限。
 3// NTFS 系統調用此函數,請修改shi502_permissions參數,可使用如下權限:
 4// ACCESS_READ, ACCESS_WRITE, ACCESS_CREATE, ACCESS_EXEC
 5// ACCESS_DELETE, ACCESS_ATRIB, ACCESS_PERM, ACCESS_ALL
 6BOOL addShare(LPTSTR lpShareName, LPTSTR lpShareDir)
 7{
 8NET_API_STATUS res;
 9SHARE_INFO_502 p;
10 
11p.shi502_netname = lpShareName; //共享名
12p.shi502_type = STYPE_DISKTREE; 
13p.shi502_remark = NULL;
14p.shi502_permissions = ACCESS_ALL;
15p.shi502_max_uses = SHI_USES_UNLIMITED; //最大鏈接數
16p.shi502_current_uses = 0;
17p.shi502_path = lpShareDir; //需要共享的路徑
18p.shi502_passwd = NULL;
19p.shi502_reserved = 0;
20p.shi502_security_descriptor = NULL;
21 
22res = NetShareAdd(NULL, 502, (LPBYTE)&p, NULL);
23 
24if (NERR_Success == res)
25{
26printf("Share created.\n");
27}

28else
29{
30printf("NetShareAdd error: %u\n", res);
31}

32return (res==NERR_Success);
33}

34

delShare.cpp
 
 1BOOL delShare(LPTSTR lpShareName)
 2{
 3    NET_API_STATUS res;
 4    //TCHAR szShareName[256] = "TestShare";
 5    //TCHAR szShreDir[256] = "F:\\Media";
 6    res = NetShareDel(NULL, (LMSTR)lpShareName, 0);
 7    if (NERR_Success == res)
 8    {
 9        printf("NetShareDel ok.\n");
10    }

11    else
12    {
13        printf("NetShareDel error: %u\n", res);
14        if (ERROR_ACCESS_DENIED == res)
15        {
16            printf("The user does not have access to the requested information.\n");
17        }

18        if (NERR_NetNameNotFound == res)
19        {
20            printf("The share name does not exist.\n");
21        }

22    }

23    return (res==NERR_Success);
24}

posted @ 2014-12-23 17:53 zhiye_wang 閱讀(299) | 評論 (0)編輯 收藏

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1/**//*  2 * ===============================================================...  閱讀全文
posted @ 2014-12-23 17:47 zhiye_wang 閱讀(498) | 評論 (0)編輯 收藏

20141129

根據微軟http://support.microsoft.com/kb/231289 這篇文章沒有辦法解決Windows server 2008下隱藏指定盤符的問題
這兩天搜索一些資料的總結,現在終于解決了這個問題.詳細步驟如下

一 首先創建(針對域用戶的)組策略需要的數據

1.首先在C:\Windows\SYSVOL\sysvol\xxx.com\Policies文件夾下,創建文件夾PolicyDefinitions.
2.將%systemroot%\PolicyDefinitions\下所有文件(這個目錄的文件是針對本地用戶的)復制到
C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions下.
3.修改C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\WindowsExplorer.admx
這個文件來達到在Windows server 2008中隱藏指定盤符的功能.
4.在WindowsExplorer.admx文件中查找字段NoDrives,添加相應的字符串可以設置隱藏指定的磁盤驅動器;查找字段NoViewOnDrive,并修改相應的字段,可以設置拒絕從Windows資源管理器訪問某個磁盤驅動器.

下面以設置隱藏指定的磁盤驅動器為例:(下列黑體字我測試時設置的"只顯示Z,其他盤符不顯示

以下是微軟幫助中的解釋:

這項策略在客戶端計算機上只顯示指定的驅動器。這項策略所影響的注冊表項使用與 26 位二進制字符串(每一位代表一個驅動器號)相對應的十進制數字:

00000000000111100000000000
ZYXWVUTSRQPONMLKJIHGFEDCBA


此配置對應于十進制數字 67108863,它會隱藏所有的驅動器。如果您要隱藏驅動器 C,將第三低位設置為 1,然后將二進制字符串轉換為十進制數字。

沒有必要創建一個顯示所有驅動器的選項,因為清除復選框就完全刪除了“NoDrives”項,所有驅動器都會自動顯示。

如果您要配置這項策略以顯示一個不同的驅動器組合,請創建相應的二進制字符串,將它轉換成十進制數字,并向 ITEMLIST 部分添加一個帶有相應的 [strings] 項的新項。例如,要隱藏驅動器 L、M、N 和 O,請創建下面的字符串

100000000000111100000000000
2ZYXWVUTSRQPONMLKJIHGFEDCBA


并將其轉換成十進制。這個二進制字符串可轉換成十進制數字 30720

這篇文章中的信息適用于:
Microsoft Windows Server 2003 Standard Edition
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
Microsoft Windows 2000 Datacenter Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional Edition
Microsoft Windows 2000 Server
關鍵字:
kbenv kbinfo KB231289

5.之后修改C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\zh-CN\WindowsExplorer.adml(適用于中文Windows server 2008).

如果你使用的是英文版需要修改:C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\en-US\WindowsExplorer.adml

添加如下字符串.(黑體字)
不限制z驅動器,其余驅動器全部限制

注意:string id要跟WindowsExplorer.admx設置相同.

6.現在在組策略中就可以看到這個設置了.

”本地組策略編輯器“->“用戶配置”→“管理模板”→Windows組件→“Windows 資源管理器”,在右側的窗格里雙擊“隱藏我的電腦中這些指定驅動器”項,

20141201

2.通過注冊表隱藏硬盤分區
關鍵值是:NoDrives
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\新建鍵值NoDrives,

posted @ 2014-12-23 17:43 zhiye_wang 閱讀(578) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 int mystrcmp(const char* dest, const char* src)
 8 {
 9     assert (dest!=NULL && src!=NULL);
10     while (*dest++ == *src++)
11     {
12         if (*dest=='\0' || *src=='\0')
13             break;    
14     }
15     return *dest > *src ? 1 : (*dest==*src ? 0 : -1);
16 }
17 
18 int main(int argc, char* argv[])
19 {
20     printf("Hello World!\n");
21     cout << mystrcmp("abc", "abcd");
22     cout << endl;
23     return 0;
24 }
輸出:
Hello World!
-1
Press any key to continue
posted @ 2014-06-12 10:12 zhiye_wang 閱讀(239) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 #include "string"
 5 
 6 using namespace std;
 7 
 8 char* mystrcat(char* dest, const char* src)
 9 {
10     assert(dest!=NULL && src!=NULL);
11     char* p = dest;
12     while (*p!='\0') 
13         p++;
14     while (*p++ = *src++);
15     *p = '\0';
16     return dest;
17 }
18 
19 int main(int argc, char* argv[])
20 {
21     printf("Hello World!\n");
22     char buf[10] = "FU ";
23     char test[4] = "CK!";
24     mystrcat(buf, test);
25     cout << buf << endl;
26     return 0;
27 }
輸出:
Hello World!
FU CK!
Press any key to continue
posted @ 2014-06-12 09:59 zhiye_wang 閱讀(217) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 
 4 using namespace std;
 5 
 6 int isechol (const char* str)
 7 {
 8     int length = strlen(str);
 9     for (int i=0; i<length/2; i++)
10     {
11         // 0代表不是,1代表是
12         if (str[i] != str[length-i-1])
13         {    
14             return 0;
15         }
16     }
17     return 1;
18 }
19 
20 int main(int argc, char* argv[])
21 {
22     printf("Hello World!\n");
23     char buf[10] = "abcddcba";
24     if (isechol(buf))
25         cout << buf << " is echol" << endl;
26     else
27         cout << buf << " is not echol" << endl;
28     return 0;
29 }
輸出:
Hello World!
abcddcba is echol
Press any key to continue
posted @ 2014-06-12 09:50 zhiye_wang 閱讀(480) | 評論 (2)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 char* mystrncpy(char* dest, const char* src, int n)
 8 {
 9     assert(dest!=NULL && src!=NULL);
10     int count = 0;
11     while (*src != '\0')
12     {
13         if (count >= n)
14         {
15             break;
16         }
17         dest[count++] = *src++;
18     }
19     dest[count] = '\0';
20     return dest;
21 }
22 
23 int main(int argc, char* argv[])
24 {
25     printf("Hello World!\n");
26     char buf[10] = {0};
27     mystrncpy(buf, "FUCK!", 4);
28     cout << buf << endl;
29     return 0;
30 }

輸出:
Hello World!
FUCK!
Press any key to continue
posted @ 2014-06-12 09:30 zhiye_wang 閱讀(552) | 評論 (0)編輯 收藏

 1 #include "stdafx.h"
 2 #include "iostream"
 3 #include "assert.h"
 4 
 5 using namespace std;
 6 
 7 char* mystrcpy(char* dest, const char* src); // 1 const
 8 
 9 
10 int main(int argc, char* argv[])
11 {
12     printf("Hello World!\n");
13     char buf[10] = {0};
14     mystrcpy(buf, "FUCK!");
15     cout << buf << endl;
16     return 0;
17 }
18 
19 char* mystrcpy(char* dest, const char* src)
20 {
21     assert(dest!=NULL && src!=NULL);   // 2 assert
22     char* p = dest;
23     while (*p++ = *src++);
24     *p = '\0';                                    // 3 字符串結束
25     return dest;
26 }

輸出:
Hello World!
FUCK!
Press any key to continue
posted @ 2014-06-12 09:11 zhiye_wang 閱讀(208) | 評論 (0)編輯 收藏

僅列出標題
共4頁: 1 2 3 4 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩国产一区二区| 久久久噜噜噜久久人人看| 欧美日韩视频第一区| 一区二区三区欧美视频| 一区二区三区高清在线| 国产精品久久久久aaaa| 欧美中文字幕| 老妇喷水一区二区三区| 亚洲精品美女| 亚洲性视频网站| 黑人操亚洲美女惩罚| 欧美激情按摩在线| 欧美日韩你懂的| 欧美一区二区三区免费观看| 久久精品亚洲乱码伦伦中文| 亚洲精品一区二| 亚洲在线免费视频| 樱桃成人精品视频在线播放| 亚洲精品久久嫩草网站秘色| 国产精品久久久久久久9999| 快播亚洲色图| 欧美日韩专区| 欧美aa在线视频| 国产精品初高中精品久久| 久久只有精品| 国产精品播放| 欧美凹凸一区二区三区视频| 欧美性猛片xxxx免费看久爱| 免费亚洲婷婷| 国产毛片一区二区| 亚洲狠狠丁香婷婷综合久久久| 亚洲精品国精品久久99热一| 国产欧美一区二区精品婷婷| 亚洲国产一区在线| 国产综合色一区二区三区| 亚洲精品资源| 亚洲高清视频的网址| 亚洲尤物在线视频观看| 日韩亚洲精品视频| 久久久国产精品一区| 亚欧美中日韩视频| 欧美精品粉嫩高潮一区二区| 久久综合九色综合欧美就去吻| 国产精品www| 亚洲精品在线免费| 亚洲福利视频网站| 欧美在线网址| 久久精品91| 国产精自产拍久久久久久蜜| 日韩亚洲在线| 日韩一级裸体免费视频| 免费高清在线一区| 免费观看在线综合| 狠狠网亚洲精品| 午夜精品久久久久久久男人的天堂| 一区二区三区日韩欧美精品| 免费在线一区二区| 欧美激情一二三区| 亚洲电影在线播放| 久久视频在线免费观看| 老司机精品导航| 激情综合久久| 久久亚洲精品一区| 欧美α欧美αv大片| 亚洲国产高清一区| 免费亚洲网站| 亚洲欧洲一区二区在线观看| 亚洲乱码国产乱码精品精天堂 | 麻豆精品网站| 欧美寡妇偷汉性猛交| 亚洲国产精品久久人人爱蜜臀| 久久久一区二区| 欧美岛国激情| 亚洲日本成人女熟在线观看| 免费成人美女女| 亚洲欧洲一区二区在线观看| 在线亚洲精品| 国产精品久久看| 亚洲欧洲99久久| 免费日韩av电影| 日韩视频不卡中文| 欧美视频一区二区在线观看 | 亚洲欧美三级在线| 久久精彩视频| 亚洲国产精彩中文乱码av在线播放| 美女露胸一区二区三区| 亚洲乱码久久| 久久精品国产77777蜜臀| 激情一区二区| 欧美久久久久中文字幕| 亚洲视频欧美在线| 久久尤物电影视频在线观看| 亚洲激情欧美| 国产精品日韩二区| 免播放器亚洲一区| 一区二区日韩精品| 麻豆久久久9性大片| 中文一区二区| 精品51国产黑色丝袜高跟鞋| 欧美凹凸一区二区三区视频| 亚洲一区二区在线播放| 免费成人小视频| 亚洲自拍偷拍网址| 欧美久久久久久久久| 欧美一区二区三区在线观看 | 亚洲一区二区欧美| 国产欧美日韩精品一区| 欧美va亚洲va国产综合| 亚洲女同同性videoxma| 欧美成人综合| 欧美自拍偷拍午夜视频| 一本色道久久88亚洲综合88| 国产欧美一区二区三区在线老狼| 欧美国产乱视频| 久久成人精品| 在线性视频日韩欧美| 亚洲第一伊人| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲最黄网站| 亚洲人成久久| **性色生活片久久毛片| 国产女主播一区二区| 欧美日韩国产片| 免费欧美电影| 久久亚洲精品欧美| 欧美一级夜夜爽| 亚洲一区在线免费观看| 一本色道久久综合亚洲精品按摩| 亚洲国产精品成人| 欧美国产成人精品| 久久天堂精品| 久久久夜色精品亚洲| 午夜在线精品偷拍| 性高湖久久久久久久久| 亚洲午夜精品一区二区三区他趣| 日韩视频免费观看高清完整版| 在线日本欧美| 亚洲国产欧美久久| 亚洲人成网站在线播| 亚洲国产成人av好男人在线观看| 韩国一区二区三区在线观看| 国模私拍一区二区三区| 国产午夜亚洲精品不卡| 国产欧美亚洲一区| 国户精品久久久久久久久久久不卡| 国产人成一区二区三区影院| 国产精品一二三| 国产欧美日韩精品专区| 国产日韩一区二区| 国内精品视频久久| 亚洲福利在线看| 最新精品在线| 一区二区三区鲁丝不卡| 亚洲天堂成人| 欧美亚洲自偷自偷| 久久久高清一区二区三区| 久久综合99re88久久爱| 欧美多人爱爱视频网站| 亚洲精品欧美专区| 亚洲手机成人高清视频| 亚洲欧美日韩直播| 久久久999精品免费| 欧美大尺度在线| 国产精品国产三级国产a| 国产日韩欧美视频在线| 亚洲国产99精品国自产| 亚洲天堂男人| 久久免费少妇高潮久久精品99| 欧美第一黄网免费网站| 99re热这里只有精品视频| 午夜精彩国产免费不卡不顿大片| 久久国产精品一区二区三区四区| 美女尤物久久精品| 国产精品第一页第二页第三页| 国产丝袜一区二区| 亚洲人成网站在线观看播放| 香蕉av777xxx色综合一区| 免费观看成人| 一本色道久久综合狠狠躁篇怎么玩 | 日韩系列欧美系列| 欧美一级一区| 欧美日韩亚洲网| 精品动漫3d一区二区三区| 亚洲香蕉成视频在线观看| 卡通动漫国产精品| 99国产精品久久| 久久久久久久成人| 欧美偷拍另类| 亚洲电影天堂av| 久久激情网站| 一本色道久久综合亚洲二区三区| 久久大逼视频| 国产美女在线精品免费观看| 日韩午夜精品视频| 另类亚洲自拍| 亚洲欧美视频在线| 欧美视频中文字幕| 亚洲日本中文| 欧美a级一区二区| 性色av一区二区怡红|